escape函数解决js中ajax传递中文出现乱码问题


Posted in Javascript onOctober 30, 2014

本文实例讲述了escape函数解决js中ajax传递中文出现乱码问题,分享给大家供大家参考。具体方法如下:

一、问题描述:

本来网页特效中的escape()是将中文按iso-8859-1字符集进行url编码的,那样通过 request.getparameter()是能直接获取到请求参数的,但后来的javascript将escape()换成了unicode字符集编 码,如此一来,在jsp教程和servlet中就没法直接拿到请求参数了,具体原因我也不知道。

二、解决办法:

1、首先对中文字符进行两次escape()编码,如要传参数name,值为“你好”,则url的格式为....name=escape(escape("你好")),这样一来,在request.getparameter()就能取到编码后的参数了。

2、由于取到的参数是  %25u4f60%25u597d  格式的,没法用常规的urldecoder.decode()来进行解码,还好,这世上的牛人够多,在网上直接找到了一个工具类,能实现 javascript中escape()及unescape()式的编解码
 

<script language="javascript">  

function get(id){return document.getelementbyid(id).value}

function setting()

  {

   var xmlhttp;

 if(window.activexobject)

 {

  xmlhttp=new activexobject("microsoft.xmlhttp")

 }else{

   xmlhttp=new xmlhttprequest();

 }

 xmlhttp.onreadystatechange=function()

 {

    if(xmlhttp.readystate==4)

    {

       if(xmlhttp.status==200)

    {

       alert("成功!")

    }else{

      alert(xmlhttp.status)

    }

    }

   }

 var url="action.asp教程?action=setting&rnd="+math.random()

 xmlhttp.open("post",url,true)

 var senddate ="title="+escape(get("title"))+"&conn_way="+escape(get("conn_way"))+"&databasename="+escape(get("databasename"))+"&sqlusername="+escape(get("sqlusername"))+"&sqlpassword="+escape(get("sqlpassword"))+"&sqllocalname="+escape(get("sqllocalname"))+"&pg_size="+escape(get("pg_size"))+"&adminid="+escape(get("adminid"))+"&adminpwd="+escape(get("adminpwd"));

2727 xmlhttp.setrequestheader('content-type','application/x-www-form-urlencoded');

 xmlhttp.send(senddate)

  }

</script>

上面的实例我们中文只用了escape函数,语法如下:

定义和用法:
escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。
语法:

escape(string)参数 描述
string 必需。要被转义或编码的字符串。

返回值:
已编码的 string 的副本。其中某些字符被替换成了十六进制的转义序列。

说明:
该方法不会对 ascii 字母和数字进行编码,也不会对下面这些 ascii 标点符号进行编码: - _ . ! ~ * ' ( ) 。其他所有的字符都会被转义序列替换。

提示和注释:
提示:可以使用 unescape() 对 escape() 编码的字符串进行解码。
注释:ecmascript v3 反对使用该方法,应用使用 decodeuri() 和 decodeuricomponent() 替代它

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
JS幻灯片可循环播放可平滑旋转带滚动导航(自写)
Aug 05 Javascript
jquery下拉select控件操作方法分享(jquery操作select)
Mar 25 Javascript
深入浅析react native es6语法
Dec 09 Javascript
AngularJs自定义服务之实现签名和加密
Aug 02 Javascript
JS获取鼠标选中的文字
Aug 10 Javascript
javascript 判断页面访问方式电脑或者移动端
Sep 19 Javascript
js实现五星评价功能
Mar 08 Javascript
微信小程序网络请求wx.request详解及实例
May 18 Javascript
js实现分页功能
May 24 Javascript
react以create-react-app为基础创建项目
Mar 14 Javascript
详解angular分页插件tm.pagination二次触发问题解决方案
Jul 20 Javascript
Angular8 Http拦截器简单使用教程
Aug 20 Javascript
js防止DIV布局滚动时闪动的解决方法
Oct 30 #Javascript
js实现window.open不被拦截的解决方法汇总
Oct 30 #Javascript
一个JavaScript获取元素当前高度的实例
Oct 29 #Javascript
JS 实现列表与多选框选择附预览动画
Oct 29 #Javascript
一个JavaScript操作元素定位元素的实例
Oct 29 #Javascript
js实现ArrayList功能附实例代码
Oct 29 #Javascript
JQuery 实现在同一页面锚点链接之间的平滑滚动
Oct 29 #Javascript
You might like
php中的三元运算符使用说明
2011/07/03 PHP
phpadmin如何导入导出大数据文件及php.ini参数修改
2013/02/18 PHP
win7+apache+php+mysql环境配置操作详解
2013/06/10 PHP
thinkphp5.0整合phpsocketio完整攻略(绕坑)
2018/10/12 PHP
Javascript 类与静态类的实现
2010/04/01 Javascript
actionscript与javascript的区别
2011/05/25 Javascript
Javascript实现DIV滚动自动滚动到底部的代码
2012/03/01 Javascript
基于JavaScript实现继承机制之原型链(prototype chaining)的详解
2013/05/07 Javascript
asp.net刷新本页面的六种方法总结
2014/01/07 Javascript
jQuery实现自定义事件的方法
2015/04/17 Javascript
快速解决Canvas.toDataURL 图片跨域的问题
2016/05/10 Javascript
JavaScript 函数的定义-调用、注意事项
2017/04/16 Javascript
浅谈vue.js导入css库(elementUi)的方法
2018/03/09 Javascript
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
2019/01/15 Javascript
webpack中如何加载静态文件的方法步骤
2019/05/18 Javascript
原生javascript中this几种常见用法总结
2020/02/24 Javascript
Vue-Ant Design Vue-普通及自定义校验实例
2020/10/24 Javascript
python获取本机mac地址和ip地址的方法
2015/04/29 Python
Python使用defaultdict读取文件各列的方法
2017/05/11 Python
使用python编写监听端
2018/04/12 Python
Python中创建二维数组
2018/10/17 Python
Python语言进阶知识点总结
2019/05/28 Python
使用Python画股票的K线图的方法步骤
2019/06/28 Python
python中rc1什么意思
2020/06/19 Python
详解Python中openpyxl模块基本用法
2021/02/23 Python
Perricone MD裴礼康美国官网:抗衰老护肤品
2016/09/26 全球购物
电脑饰品店的创业计划书
2014/01/21 职场文书
30岁生日感言
2014/01/25 职场文书
运动会广播稿400字
2014/01/25 职场文书
贯彻学习两会心得体会范文
2014/03/17 职场文书
全国税务系统先进集体事迹材料
2014/05/19 职场文书
大学毕业生求职自荐书
2014/06/05 职场文书
学校督导评估方案
2014/06/10 职场文书
介绍信如何写
2015/01/31 职场文书
酒店员工管理制度
2015/08/05 职场文书
Python数据可视化之绘制柱状图和条形图
2021/05/25 Python