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之卸载鼠标事件的代码
May 14 Javascript
JavaScript高级程序设计 DOM学习笔记
Sep 10 Javascript
jquery1.83 之前所有与异步列队相关的模块详细介绍
Nov 13 Javascript
JavaScript事件委托实例分析
May 26 Javascript
JavaScript包装对象使用详解
Jul 09 Javascript
jQuery事件绑定用法详解(附bind和live的区别)
Jan 19 Javascript
javascript实现表单验证
Jan 29 Javascript
jquery购物车结算功能实现方法
Oct 29 Javascript
Vue2.0实现将页面中表格数据导出excel的实例
Aug 09 Javascript
Vue底层实现原理总结
Feb 17 Javascript
基于JS实现计算24点算法代码实例解析
Jul 23 Javascript
vue postcss-px2rem 自适应布局
May 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+JS+rsa数据加密传输实现代码
2011/03/23 PHP
PHP中加密解密函数与DES加密解密实例
2014/10/17 PHP
PHP获取二叉树镜像的方法
2018/01/17 PHP
jQuery判断密码强度实现思路及代码
2013/04/24 Javascript
js实现checkbox全选和反选示例
2014/05/01 Javascript
使用Chrome调试JavaScript的断点设置和调试技巧
2014/12/16 Javascript
浅谈Sublime Text 3运行JavaScript控制台
2016/06/06 Javascript
图片加载完成再执行事件的实例
2017/11/16 Javascript
vue项目中用cdn优化的方法
2018/01/03 Javascript
Vue页面骨架屏的实现方法
2018/05/22 Javascript
微信小程序scroll-x失效的完美解决方法
2018/07/18 Javascript
Js中使用正则表达式验证输入是否有特殊字符
2018/09/07 Javascript
详解vscode中vue代码颜色插件
2018/10/11 Javascript
Express 配置HTML页面访问的实现
2020/11/01 Javascript
在windows系统中实现python3安装lxml
2016/03/23 Python
Python 字符串大小写转换的简单实例
2017/01/21 Python
Python中正则表达式详解
2017/05/17 Python
Python中input与raw_input 之间的比较
2017/08/20 Python
浅谈flask源码之请求过程
2018/07/26 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
2018/12/19 Python
django xadmin 管理器常用显示设置方式
2020/03/11 Python
利用python实现凯撒密码加解密功能
2020/03/31 Python
python3中TQDM库安装及使用详解
2020/11/18 Python
Skyscanner波兰:廉价航班
2017/11/07 全球购物
ROSEFIELD手表荷兰官方网上商店:北欧极简设计女士腕表品牌
2018/01/24 全球购物
介绍下Lucene建立索引的过程
2016/03/02 面试题
化工机械应届生求职信
2013/11/04 职场文书
工商管理专业职业生涯规划
2014/01/01 职场文书
小学家长会邀请函
2014/01/23 职场文书
个人批评与自我批评材料
2014/10/17 职场文书
2014年采购员工作总结
2014/11/18 职场文书
2015暑期社会实践调查报告
2015/07/14 职场文书
领导新年致辞2016
2015/07/29 职场文书
如何书写你的职业生涯规划书?
2019/06/27 职场文书
JavaScript执行机制详细介绍
2021/12/06 Javascript
基于Python实现nc批量转tif格式
2022/08/14 Python