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 相关文章推荐
IE与firefox下Dhtml的一些区别小结
Dec 02 Javascript
extjs grid设置某列背景颜色和字体颜色的方法
Sep 03 Javascript
浅析Js中的单引号与双引号问题
Nov 06 Javascript
基于zepto.js实现仿手机QQ空间的大图查看组件ImageView.js详解
Mar 05 Javascript
使用JavaScript刷新网页的方法
Jun 04 Javascript
jquery ajax分页插件的简单实现
Jan 27 Javascript
jquery ezUI 双击行记录弹窗查看明细的实现方法
Jun 01 Javascript
JS控件bootstrap datepicker使用方法详解
Mar 25 Javascript
20行js代码实现的贪吃蛇小游戏
Jun 20 Javascript
JavaScript转换数据库DateTime字段类型方法
Jun 27 Javascript
仿vue-cli搭建属于自己的脚手架的方法步骤
Apr 17 Javascript
Javascript前端下载后台传来的文件流代码实例
Aug 18 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中一些可能会被忽略的问题
2013/06/21 PHP
php使用正则过滤js脚本代码实例
2014/05/10 PHP
php使用PDO方法详解
2014/12/27 PHP
jValidate 基于jQuery的表单验证插件
2009/12/12 Javascript
Javascript类库的顶层对象名用户体验分析
2010/10/24 Javascript
js原型链原理看图说明
2012/07/07 Javascript
多个上传文件用js验证文件的格式和大小的方法(推荐)
2017/03/09 Javascript
node.js操作mysql简单实例
2017/05/25 Javascript
纯js实现动态时间显示
2020/09/07 Javascript
vue父组件中获取子组件中的数据(实例讲解)
2017/09/27 Javascript
Vue异步加载about组件
2017/10/31 Javascript
浅析JS抽象工厂模式
2017/12/14 Javascript
使用JavaScript生成罗马字符的实例代码
2018/06/08 Javascript
JavaScript实现多态和继承的封装操作示例
2018/08/20 Javascript
vue中如何去掉空格的方法实现
2018/11/09 Javascript
Vue.use()在new Vue() 之前使用的原因浅析
2019/08/26 Javascript
javascript实现扫雷简易版
2020/08/18 Javascript
Python中给List添加元素的4种方法分享
2014/11/28 Python
Python标准异常和异常处理详解
2015/02/02 Python
解决出现Incorrect integer value: '' for column 'id' at row 1的问题
2017/10/29 Python
Python实现感知机(PLA)算法
2017/12/20 Python
Python 反转字符串(reverse)的方法小结
2018/02/20 Python
详解Django中六个常用的自定义装饰器
2018/07/04 Python
python opencv捕获摄像头并显示内容的实现
2019/07/11 Python
安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法
2020/08/18 Python
html5摇一摇代码优化包括DeviceMotionEvent等等
2014/09/01 HTML / CSS
奥地利网上书店:Weltbild
2017/07/14 全球购物
Wedgwood美国官网:英国骨瓷,精美礼品及家居装饰
2018/02/17 全球购物
学习交流会主持词
2014/04/01 职场文书
意向协议书范本
2014/04/23 职场文书
公务员政审单位鉴定材料
2014/05/16 职场文书
城市规划应届毕业生自荐信
2014/07/04 职场文书
群众路线个人整改方案
2014/10/25 职场文书
寒暑假实习证明书模板
2014/11/29 职场文书
辛德勒的名单观后感
2015/06/03 职场文书
Python os和os.path模块详情
2022/04/02 Python