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 相关文章推荐
Javascript操纵Cookie实现购物车程序
Feb 15 Javascript
在html页面中包含共享页面的方法
Oct 24 Javascript
HTML DOM的nodeType值介绍
Mar 31 Javascript
深入理解JavaScript系列(1) 编写高质量JavaScript代码的基本要点
Jan 15 Javascript
一个页面元素appendchild追加到另一个页面元素的问题
Jan 27 Javascript
javascript 使用 NodeList需要注意的问题
Mar 04 Javascript
js计算字符串长度包含的中文是utf8格式
Oct 15 Javascript
JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
Apr 03 Javascript
jQuery实现统计输入文字个数的方法
Mar 11 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
Nov 18 Javascript
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
Jun 30 Javascript
微信小程序实现图片放大预览功能
Oct 22 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实现git部署的方法教程
2017/12/19 PHP
Laravel用户授权系统的使用方法示例
2018/09/16 PHP
Laravel框架定时任务2种实现方式示例
2018/12/08 PHP
PHP项目多语言配置平台实现过程解析
2020/05/18 PHP
jQuery实现移动 和 渐变特效的点击事件
2015/02/26 Javascript
JavaScript实现随机替换图片的方法
2015/04/16 Javascript
在JS中操作时间之getUTCMilliseconds()方法的使用
2015/06/10 Javascript
详解AngularJS中的作用域
2015/06/17 Javascript
javascript实现数组去重的多种方法
2016/03/14 Javascript
Javascript的表单验证-初识正则表达式
2016/03/18 Javascript
利用iscroll4实现轮播图效果实例代码
2017/01/11 Javascript
ES6中参数的默认值语法介绍
2017/05/03 Javascript
javascript 作用于作用域链的详解
2017/09/27 Javascript
jquery+css3实现熊猫tv导航代码分享
2018/02/12 jQuery
vue.js前后端数据交互之提交数据操作详解
2018/04/24 Javascript
js如何找出字符串中的最长回文串
2018/06/04 Javascript
JavaScript定时器常见用法实例分析
2019/11/15 Javascript
Python基于Tkinter的HelloWorld入门实例
2015/06/17 Python
Pycharm学习教程(3) 代码运行调试
2017/05/03 Python
Python爬虫实例扒取2345天气预报
2018/03/04 Python
django 开发忘记密码通过邮箱找回功能示例
2018/04/17 Python
用uWSGI和Nginx部署Flask项目的方法示例
2019/05/05 Python
Python 通过打码平台实现验证码的实现
2019/05/13 Python
Python实现在线批量美颜功能过程解析
2020/06/10 Python
手把手教你如何用Pycharm2020.1.1配置远程连接的详细步骤
2020/08/07 Python
使用phonegap操作数据库的实现方法
2017/03/31 HTML / CSS
Avène雅漾美国官方网站:敏感肌肤护理专家
2016/10/24 全球购物
Silk Therapeutics官网:清洁、抗衰老护肤品
2020/08/12 全球购物
教师评优的个人自我评价分享
2013/09/19 职场文书
计算机科学系职业生涯规划书
2014/03/08 职场文书
大学军训感言400字
2014/03/11 职场文书
学校政风行风评议心得体会
2014/10/21 职场文书
仓管员岗位职责
2015/02/03 职场文书
上课讲话检讨书范文
2015/05/07 职场文书
奖金申请报告模板
2015/05/15 职场文书
《弟子规》读后感:知廉耻、明是非、懂荣辱、辨善恶
2019/12/03 职场文书