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 相关文章推荐
区分JS中的undefined,null,&quot;&quot;,0和false
Mar 08 Javascript
[原创]后缀就扩展名为js的文件是什么文件
Dec 06 Javascript
运用jquery实现table单双行不同显示并能单行选中
Jul 25 Javascript
Jquery + Ajax调用webService实例代码(asp.net)
Aug 27 Javascript
IE6 hack for js 集锦
Sep 23 Javascript
JavaScript检查子字符串是否在字符串中的方法
Feb 03 Javascript
jQuery实现根据生日计算年龄 星座 生肖
Nov 23 Javascript
js仿微信语音播放实现思路
Dec 12 Javascript
带你了解session和cookie作用原理区别和用法
Aug 14 Javascript
vue-router的HTML5 History 模式设置
Sep 08 Javascript
微信小程序获取位置展示地图并标注信息的实例代码
Sep 01 Javascript
高性能js数组去重(12种方法,史上最全)
Dec 21 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
php实现图片添加描边字和马赛克的方法
2014/12/10 PHP
javascript 简练的几个函数
2009/08/29 Javascript
20个最新的jQuery插件
2012/01/13 Javascript
div当滚动到页面顶部的时候固定在顶部实例代码
2013/05/27 Javascript
jquery得到iframe src属性值的方法
2014/09/25 Javascript
封装好的一个万能检测表单的方法
2015/01/21 Javascript
JQuery调用绑定click事件的3种写法
2015/03/28 Javascript
JS+CSS实现仿雅虎另类滑动门切换效果
2015/10/13 Javascript
vue.js实现请求数据的方法示例
2017/02/07 Javascript
关于Angular2 + node接口调试的解决方案
2017/05/28 Javascript
angularjs下ng-repeat点击元素改变样式的实现方法
2018/09/12 Javascript
jQuery中DOM操作原则实例分析
2019/08/01 jQuery
如何在vue 中引入使用jquery
2020/11/10 jQuery
[01:03:31]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第二局
2016/02/26 DOTA
[02:22]《新闻直播间》2017年08月14日
2017/08/15 DOTA
[00:30]明星选手化身超级英雄!2018DOTA2亚洲邀请赛全明星赛来临!
2018/04/06 DOTA
Python中datetime常用时间处理方法
2015/06/15 Python
Python出现segfault错误解决方法
2016/04/16 Python
Python实现的文本编辑器功能示例
2017/06/30 Python
Python简单计算文件MD5值的方法示例
2018/04/11 Python
解决Matplotlib图表不能在Pycharm中显示的问题
2018/05/24 Python
python文件操作之批量修改文件后缀名的方法
2018/08/10 Python
使用Python实现租车计费系统的两种方法
2018/09/29 Python
Django 如何使用日期时间选择器规范用户的时间输入示例代码详解
2020/05/22 Python
opencv+python实现鼠标点击图像,输出该点的RGB和HSV值
2020/06/02 Python
python3代码输出嵌套式对象实例详解
2020/12/03 Python
爱他美官方海外旗舰店:Aptamil奶粉
2017/12/22 全球购物
介绍一下Java中的Class类
2015/04/10 面试题
村居抓节水倡议书
2014/05/19 职场文书
财务管理专业求职信
2014/06/11 职场文书
完整版商业计划书
2014/09/15 职场文书
正风肃纪剖析材料范文
2014/10/10 职场文书
2014年司法局工作总结
2014/12/11 职场文书
六五普法学习心得体会
2016/01/21 职场文书
2019秋季运动会口号
2019/06/25 职场文书
spring项目中切面及AOP的使用方法
2021/06/26 Java/Android