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 字符串处理函数使用小结
Dec 02 Javascript
整理一些JavaScript的IE和火狐的兼容性注意事项
Mar 17 Javascript
兼容IE、firefox以及chrome的js获取时间(getFullYear)
Jul 04 Javascript
javascript实现通过表格绘制颜色填充矩形的方法
Apr 21 Javascript
vue.js绑定class和style样式(6)
Dec 09 Javascript
js省市区级联查询(插件版&amp;无插件版)
Mar 21 Javascript
js轮播图透明度切换(带上下页和底部圆点切换)
Apr 27 Javascript
jQuery实现选中行变色效果(实例讲解)
Jul 06 jQuery
JavaScript实现时间表动态效果
Jul 15 Javascript
Javascript中将变量转换为字符串的三种方法
Sep 19 Javascript
angular第三方包开发整理(小结)
Apr 19 Javascript
详解vue组件之间的通信
Aug 30 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
Windows下XDebug 手工配置与使用说明
2010/07/11 PHP
php实现转换ubb代码的方法
2015/06/18 PHP
javascript replace方法与正则表达式
2008/02/19 Javascript
javascript实现图片切换的幻灯片效果源代码
2012/12/12 Javascript
JavaScript检测鼠标移动方向的方法
2015/05/22 Javascript
javascript运算符——位运算符全面介绍
2016/07/14 Javascript
浅析JavaScript函数的调用模式
2016/08/10 Javascript
如何实现json数据可视化详解
2016/11/24 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
2017/02/28 Javascript
信息滚动效果的实例讲解
2017/09/18 Javascript
Vue.directive 自定义指令的问题小结
2018/03/04 Javascript
利用JS实现一个同Excel表现的智能填充算法
2018/08/13 Javascript
Vue使用富文本编辑器Vue-Quill-Editor(含图片自定义上传服务、清除复制粘贴样式等)
2020/05/15 Javascript
解决vue scoped html样式无效的问题
2020/10/24 Javascript
[01:01:29]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第一场
2018/04/05 DOTA
简要讲解Python编程中线程的创建与锁的使用
2016/02/28 Python
python 发送和接收ActiveMQ消息的实例
2019/01/30 Python
OpenCV 轮廓检测的实现方法
2019/07/03 Python
Django ORM多对多查询方法(自定义第三张表&amp;ManyToManyField)
2019/08/09 Python
python opencv将表格图片按照表格框线分割和识别
2019/10/30 Python
利用django model save方法对未更改的字段依然进行了保存
2020/03/28 Python
利用python汇总统计多张Excel
2020/09/22 Python
scrapy-splash简单使用详解
2021/02/21 Python
浅谈html5 video 移动端填坑记
2018/01/15 HTML / CSS
美国牛仔品牌:True Religion
2018/11/16 全球购物
Charles & Keith欧盟:新加坡时尚品牌
2019/08/01 全球购物
什么是组件架构
2016/05/15 面试题
发展部经理职责规定
2014/02/22 职场文书
2014年保安个人工作总结
2014/11/13 职场文书
质量负责人岗位职责
2015/02/15 职场文书
2015年暑期社会实践总结
2015/07/13 职场文书
承诺书怎么写 ?
2019/04/16 职场文书
导游词之南京中山陵
2019/11/27 职场文书
如何使用pdb进行Python调试
2021/06/30 Python
MongoDB日志切割的三种方式总结
2021/09/15 MongoDB
SQL Server 中的事务介绍
2022/05/20 SQL Server