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引用对象的方法
Jan 11 Javascript
javascript淡入淡出效果的实现思路
Mar 31 Javascript
JavaScript绑定事件监听函数的通用方法
May 14 Javascript
微信小程序  checkbox组件详解及简单实例
Jan 10 Javascript
Ajax基础知识详解
Feb 17 Javascript
AngularJS 异步解决实现方法
Jun 12 Javascript
使用jQuery实现页面定时弹出广告效果
Aug 24 jQuery
Vue实例中生命周期created和mounted的区别详解
Aug 25 Javascript
详解react阻止无效重渲染的多种方式
Dec 11 Javascript
JavaScript模板引擎应用场景及实现原理详解
Dec 14 Javascript
vue项目中在外部js文件中直接调用vue实例的方法比如说this
Apr 28 Javascript
JavaScript强制类型转换和隐式类型转换操作示例
May 01 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 多线程上下文中安全写文件实现代码
2009/12/28 PHP
PHP CURL模拟GET及POST函数代码
2010/04/25 PHP
PHP基本语法总结
2014/09/06 PHP
详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
2015/07/31 PHP
使用PHPStorm+XDebug搭建单步调试环境
2017/11/19 PHP
laravel 数据迁移与 Eloquent ORM的实现方法
2019/04/12 PHP
js 幻灯片的实现
2011/12/06 Javascript
js监听键盘事件示例代码
2013/07/26 Javascript
js键盘上下左右键怎么触发function(实例讲解)
2013/12/14 Javascript
json属性名为什么要双引号(个人猜测)
2014/07/31 Javascript
JavaScript函数使用的基本教程
2015/06/04 Javascript
jquery正则表达式验证(手机号、身份证号、中文名称)
2015/12/31 Javascript
Bootstrap入门书籍之(五)导航条、分页导航
2016/02/17 Javascript
jQuery绑定事件-多种实现方式总结
2016/05/09 Javascript
javascript中获取元素标签中间的内容的实现方法
2016/10/08 Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
2016/10/31 Javascript
angularjs ui-router中路由的二级嵌套
2017/03/10 Javascript
ajax+node+request爬取网络图片的实例(宅男福利)
2017/08/28 Javascript
ligerUI---ListBox(列表框可移动的实例)
2017/11/28 Javascript
JS判断用户用的哪个浏览器实例详解
2018/10/09 Javascript
nodejs异步编程基础之回调函数用法分析
2018/12/26 NodeJs
layui添加动态菜单与选项卡
2019/07/26 Javascript
react结合bootstrap实现评论功能
2020/05/30 Javascript
简单分析Python中用fork()函数生成的子进程
2015/05/04 Python
python人民币小写转大写辅助工具
2018/06/20 Python
canvas之万花筒效果的简单实现(推荐)
2016/08/16 HTML / CSS
浅谈css3中的渐进增强和优雅降级
2017/12/01 HTML / CSS
凯特方迪化妆品官网:Kat Von D Beauty
2016/11/15 全球购物
Nike比利时官网:Nike.com (BE)
2019/02/07 全球购物
街头时尚在线:JESSICABUURMAN
2019/06/16 全球购物
美国家居用品和厨具购物网站:DealsDot
2019/10/07 全球购物
公司周年庆典邀请函
2014/01/12 职场文书
教师群众路线剖析材料
2014/09/29 职场文书
离婚协议书范本2014
2014/10/27 职场文书
神州牡丹园的导游词
2019/11/20 职场文书
Django框架之路由用法
2022/06/10 Python