js调用AJAX时Get和post的乱码解决方法


Posted in Javascript onJune 04, 2013

在使用"get"时,抓取的页面最后加上编码类型

<% 
服务器端:servletactioncontext.getresponse().setcharacterencoding("utf-8"); 
客户端 网页特效p/jsp.html target=_blank >jsp教程: <%@ page language="java" contenttype="text/html; charset=utf-8" pageencoding="utf-8"%> 
response.expires = -9999 
response.addheader "pragma","no-cache" 
response.addheader "cache-ctrol","no-cache" 
response.addheader "content-type","text/html; charset=gb2312"'这是重点,否则会出现乱码 
response.write "中文汉字"%>

2、在使用post时用vbscript解决了编码问题:
源码如下:
<script language="vbscript"> 
function urlencoding(vstrin) 
strreturn = "" 
for i = 1 to len(vstrin) 
thischr = mid(vstrin,i,1) 
if abs(asc(thischr)) < &hff then 
strreturn = strreturn & thischr 
else 
innercode = asc(thischr) 
if innercode < 0 then 
innercode = innercode + &h10000 
end if 
hight8 = (innercode and &hff00) &hff 
low8 = innercode and &hff 
strreturn = strreturn & "%" & hex(hight8) & "%" & hex(low8) 
end if 
next 
urlencoding = strreturn 
end function 
function bytes2bstr(vin) 
strreturn = "" 
for i = 1 to lenb(vin) 
thischarcode = ascb(midb(vin,i,1)) 
if thischarcode < &h80 then 
strreturn = strreturn & chr(thischarcode) 
else 
nextcharcode = ascb(midb(vin,i+1,1)) 
strreturn = strreturn & chr(clng(thischarcode) * &h100 + cint(nextcharcode)) 
i = i + 1 
end if 
next 
bytes2bstr = strreturn 
end function 
</script>

下面是使用vbscript函数:
<script language=网页特效> 
/** 
* 初始化一个xmlhttp对象 
*/ 
function initajax() 
{ 
var ajax=false; 
try { 
ajax = new activexobject("msxml2.xmlhttp"); 
} catch (e) { 
try { 
ajax = new activexobject("microsoft.xmlhttp"); 
} catch (e) { 
ajax = false; 
} 
} 
if (!ajax && typeof xmlhttprequest!='undefined') { 
ajax = new xmlhttprequest(); 
} 
return ajax; 
} 
function saveuserinfo() 
{ 
var msg = document.getelementbyid("msg"); 
var f = document.user_info; 
var username = f.user_name.value; 
var userage = f.user_age.value; 
var usersex = f.user_sex.value; 
var url = "save.asp教程"; 
var poststr = urlencoding("user_name="+ username +"&user_age="+ userage +"&user_sex="+ usersex);//post时采用编码传递 
var ajax = initajax(); 
ajax.open("post", url, true); 
ajax.setrequestheader("content-type","application/x-www-form-urlencoded"); 
ajax.send(poststr); 
ajax.onreadystatechange = function() { 
if (ajax.readystate == 4 && ajax.status == 200) { 
msg.innerhtml = bytes2bstr(ajax.responsebody); //获取时解码 
} 
} 
} 
</script> 
<form name="user_info"> 
姓名:<textarea name="user_name" /></textarea><br /> 
年龄:<input type="text" name="user_age" /><br /> 
性别:<input type="text" name="user_sex" /><br /> 
<input type="button" value="提交表单" onclick="saveuserinfo()"> 
</form> 
<div id="msg"></div> 
成功
Javascript 相关文章推荐
基于json的jquery地区联动效果代码
Jul 06 Javascript
左右悬浮可分组的网站QQ在线客服代码(可谓经典)
Dec 21 Javascript
YUI Compressor压缩JavaScript原理及微优化
Jan 07 Javascript
JavaScript初学者建议:不要去管浏览器兼容
Feb 04 Javascript
input点击后placeholder中的提示消息消失
Jan 15 Javascript
基于javascript实现全国省市二级联动下拉选择菜单
Jan 28 Javascript
AngularJS过滤器详解及示例代码
Aug 16 Javascript
React路由鉴权的实现方法
Sep 05 Javascript
浅析vue-cli3配置webpack-bundle-analyzer插件【推荐】
Oct 23 Javascript
JS继承定义与使用方法简单示例
Feb 19 Javascript
详解react组件通讯方式(多种)
May 06 Javascript
解决vue字符串换行问题(绝对管用)
Aug 06 Javascript
jQuery调用AJAX时Get和post公用的乱码解决方法实例说明
Jun 04 #Javascript
左侧是表头的JS表格控件(自写,网上没有的)
Jun 04 #Javascript
js判断undefined变量类型使用typeof
Jun 03 #Javascript
如何使用jQUery获取选中radio对应的值(一句代码)
Jun 03 #Javascript
js+css实现增加表单可用性之提示文字
Jun 03 #Javascript
捕获浏览器关闭、刷新事件不同情况下的处理方法
Jun 02 #Javascript
jQuery图片滚动图片的效果(另类实现)
Jun 02 #Javascript
You might like
phpmyadmin里面导入sql语句格式的大量数据的方法
2010/06/05 PHP
163的邮件用phpmailer发送(实例详解)
2013/06/24 PHP
PHP实现的文件上传类与用法详解
2017/07/05 PHP
Laravel 连接(Join)示例
2019/10/16 PHP
浅谈PHP中的那些魔术常量
2020/12/02 PHP
javascript实现二分查找法实现代码
2007/11/12 Javascript
jquery $.ajax入门应用二
2008/11/19 Javascript
Extjs在exlipse中设置自动提示的方法
2010/04/07 Javascript
js 判断计算字符串长度/判断空的简单方法
2013/08/05 Javascript
JavaScript DOM操作表格及样式
2015/04/13 Javascript
javascript的变量、传值、传址、参数之间关系
2015/07/26 Javascript
jQuery添加删除DOM元素方法详解
2016/01/18 Javascript
AngularJS使用ng-repeat指令实现下拉框
2016/08/23 Javascript
js遍历json的key和value的实例
2017/01/22 Javascript
基于bootstrap写的一点localStorage本地储存
2017/11/21 Javascript
基于webpack-hot-middleware热加载相关错误的解决方法
2018/02/22 Javascript
js判断输入框不能为空格或null值的实现方法
2018/03/02 Javascript
Vue.js实现的表格增加删除demo示例
2018/05/22 Javascript
微信小程序如何利用getCurrentPages进行页面传值
2019/07/01 Javascript
js中console在一行内打印字符串和对象的方法
2019/09/10 Javascript
js+springMVC 提交数组数据到后台的实例
2019/09/21 Javascript
JS面向对象编程——ES6 中class的继承用法详解
2020/03/03 Javascript
基于javascript实现日历功能原理及代码实例
2020/05/07 Javascript
vue实现购物车结算功能
2020/06/18 Javascript
Python实现Tab自动补全和历史命令管理的方法
2015/03/12 Python
python单元测试unittest实例详解
2015/05/11 Python
使用python itchat包爬取微信好友头像形成矩形头像集的方法
2019/02/21 Python
python 遗传算法求函数极值的实现代码
2020/02/11 Python
linux面试题参考答案(1)
2016/01/22 面试题
关于廉洁的广播稿
2014/01/30 职场文书
平安建设实施方案
2014/03/19 职场文书
安全责任协议书
2014/04/21 职场文书
2014年个人教学工作总结
2014/12/09 职场文书
销售员岗位职责
2015/02/10 职场文书
惹女朋友生气检讨书
2015/05/06 职场文书
MySQL 数据丢失排查案例
2021/05/08 MySQL