Jquery Ajax实现时乱码问题解决方案——escape和unescape
2345积分换礼,设置首页,领工资 )http://www.2345.com/?k1755560 信不信由你,反正我信了---新闻发言人说
我的整个项目是utf-8编码方式,但是在提交ajax时还会出现乱码,让我十分不解,纠结了好几天。无意间在将escape 和unescape同时在页面上用力,居然乱码不乱了,欣喜啊
本着知其然还要知其所以然的学习精神,查了网上有关这两个函数的用法,书写如下:
1。函数基本介绍
escape函数
escape 方法返回一个包含了 charstring 内容的字符串值( Unicode 格式)。所有空格、标点、重音符号以及其他非 ASCII 字符都用 %xx 编码代替,其中 xx 等于表示该字符的十六进制数。例如,空格返回的是 "%20" 。
字符值大于 255 的以 %uxxxx 格式存储。
unescape函数
解码用 escape 方法进行了编码的 String 对象。
unescape 方法返回一个包含 charstring 内容的字符串值。所有以 %xx 十六进制形式编码的字符都用 ASCII 字符集中等价的字符代替。
以 %uxxxx 格式(Unicode 字符)编码的字符用十六进制编码 xxxx 的 Unicode 字符代替.
2 在获取dom对象值时,使用escape
//
var a=escape(document.getElementById("a").value)
//
var url="ajax.action?a="+a;
3 重点啦 在提交ajax前,
需要对url使用unescape //
url =unescape(url);
//将文本框 中的数据发送到页面上
$.ajax({
url: url,
dataType: 'json',
//网上资料在此处设置编码方式 别忘,号
contentType: application/x-www-form-urlencoded; charset=UTF-8
, success: handle
});
}
4.good luck baby 反正我的不乱了,仅供参考,
5.为什么在同一个页面用呢,加密在解密 待解
网上很多是在页面上用escape 然后 后台写个unescape 函数解析,这样挺符合逻辑的
但是在同一个页面用,逻辑上挺怪, 大神 点播 我把
2345积分换礼,设置首页,领工资 )http://www.2345.com/?k1755560 信不信由你,反正我信了---新闻发言人说