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 相关文章推荐
用javascript实现无刷新更新数据的详细步骤 asp
Dec 26 Javascript
JQUERY CHECKBOX全选,取消全选,反选方法三
Aug 30 Javascript
Js 代码中,ajax请求地址后加随机数防止浏览器缓存的原因
May 07 Javascript
jQuery表格插件ParamQuery简单使用方法示例
Dec 05 Javascript
jQuery常用操作方法及常用函数总结
Jun 19 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
Sep 02 Javascript
JQuery中Text方法用法实例分析
May 18 Javascript
整理JavaScript创建对象的八种方法
Nov 03 Javascript
d3.js 地铁轨道交通项目实战
Nov 27 Javascript
jQuery实现鼠标放置名字上显示详细内容气泡提示框效果的方法分析
Apr 04 jQuery
JavaScript setTimeout()基本用法有哪些
Nov 04 Javascript
vue项目中企业微信使用js-sdk时config和agentConfig配置方式详解
Dec 15 Vue.js
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多例模式介绍
2013/06/24 PHP
完美解决PHP中的Cannot modify header information 问题
2013/08/12 PHP
详解PHP导入导出CSV文件
2014/11/03 PHP
PHP输出一个等腰三角形的方法
2015/05/12 PHP
php基于单例模式封装mysql类完整实例
2016/10/18 PHP
php微信开发之谷歌测距
2018/06/14 PHP
(推荐一个超好的JS函数库)S.Sams Lifexperience ScriptClassLib
2007/04/29 Javascript
javascript dom 基本操作小结
2010/04/11 Javascript
Js冒泡事件详解及阻止示例
2014/03/21 Javascript
jQuery中get和post方法传值测试及注意事项
2014/08/08 Javascript
限制上传文件大小和格式的jQuery插件实例
2015/01/24 Javascript
jQuery使用drag效果实现自由拖拽div
2015/06/11 Javascript
javascript函数中的3个高级技巧
2016/09/22 Javascript
JS定时器用法分析【时钟与菜单中的应用】
2016/12/21 Javascript
Bootstrap的modal拖动效果
2016/12/25 Javascript
Javascript中常用类型的格式化方法小结
2016/12/26 Javascript
AngularJS改变元素显示状态
2017/04/20 Javascript
bootstrap table插件的分页与checkbox使用详解
2017/07/23 Javascript
使用Vue自定义数字键盘组件(体验度极好)
2017/12/19 Javascript
jQuery 实现批量提交表格多行数据的方法
2018/08/09 jQuery
使用Vuex解决Vue中的身份验证问题
2018/09/28 Javascript
TypeScript基础入门教程之三重斜线指令详解
2018/10/22 Javascript
C#程序员入门学习微信小程序的笔记
2019/03/05 Javascript
使用localStorage替代cookie做本地存储
2019/09/25 Javascript
three.js欧拉角和四元数的使用方法
2020/07/26 Javascript
[01:02:34]TFT vs VGJ.T Supermajor 败者组 BO3 第二场 6.5
2018/06/06 DOTA
Django中几种重定向方法
2015/04/28 Python
Python2与python3中 for 循环语句基础与实例分析
2017/11/20 Python
python爬虫实现中英翻译词典
2019/06/25 Python
PHP统计代码行数的小代码
2019/09/19 Python
python matplotlib饼状图参数及用法解析
2019/11/04 Python
全球最大的网上自行车商店:Chain Reaction Cycles
2016/12/02 全球购物
校本教研工作制度
2014/01/22 职场文书
工作总结与自我评价
2014/09/18 职场文书
Django分页器的用法你都了解吗
2021/05/26 Python
Golang Web 框架Iris安装部署
2022/08/14 Python