jquery乱码与contentType属性设置问题解决方案


Posted in Javascript onJanuary 07, 2013

今天闲的无聊,把以前遗留的问题解决一下,比如让人头痛的Jquery乱码问题。其实这方面文章已经很多了,但全面解决各种问题的很少,今天总结一下,方便自己也方便大家。

原因很简单: 其实他的中文乱码就是因为contentType没有指定编码,对于不同Jquery的版本中这个地方有不同的设置,就拿我遇到的,jquery-1.6.1和jquery-1.8.3就有不同的定义。

解决办法:在jquery-1.6.1文件中,搜索'contentType' 然后在application/x-www-form-urlencoded后面加上; charset=UTF-8 最终变成contentType:"application/x-www-form-urlencoded; charset=UTF-8"即可。
这样通过post方法提交后会出现乱码的问题就可以完美解决。

如果还有乱码现象,只能说你接收页面的编码也有问题, 这是由于异步对象XMLHttpRequest在处理返回的responseText的时候,是按UTF-8编码进行解码的。所以post方式的话,必须把这个页面另存一下,将页面文件的编码改为 UTF-8 (请务必记住)。
jquery乱码与contentType属性设置问题解决方案 
没修改前,整个FROM表单数据全部为乱码状态,对于这种情况,大家按以上方法可以轻松解决。

以下是一些特别情况的问题总结,来源于网络:
JQuery Ajax提交出现中文乱码的解决办法2
前使用Jquery的时候一直没有发现,用Ajax提交的时候会出现乱码,我猜测可能是因为编码的原因

可能存在以下几点原因
1.HTML的编码不统一:如页面用的GB2312,好像JQuery对它支持不太好。以前我一直都是用UTF-8的,一直都没有发现;
2.文件的编码,这个不好在表面上看到,简体中文版的操作系统存的文本格式的文件默认是 GB2312,建议把文件换成UTF-8格式的
最简单的解决办法,把提交的中文文本用 JS的 escape 处理一下,就不会现出现乱码了。
如:

//保存数据 
$.ajax({ 
url:"/guide/savecomments.aspx" , 
type:"POST" , 
dataType:"json" , 
data:"Action=SaveComment&CommNickName=" +escape(CommNickName.val()) + "&CommContent=" +escape(CommContent.val()) + "&GuideID=" + GuideID.val() + "&ScoreLogType=<%=ScoreLogType %>", 
success:function(results){ 
alert(results.message);

-------------------------------------------------------------------------------
解决的办法上用js的编码函数encodeURIComponent(string)处理一下,把中文"王晓明"编码成"%E7%8E%8B%E6%99%93%E6%98%8E",就OK了。
顺便说一下,我的tomcat下的URIEncoding=UTF-8
-------------------------------------------------------------------------------
今天在使用jquery检测用户名的时候,对英文和数字的用户名检测正确,但是对中文的时候,检测出错,经过在网上查询一段时间,终于找到了原因,是乱码问题,解决方法:
1、只要在ajax中有数据提交时,如果页面编码不是utf-8的,都应该对提交的数据进行编码,js的编码函数为escape()
2、在服务器端页接收数据后进行解码,然后对数据进行相关的处理后再编码
3、返回到客户端后再解码
4、如果没有提交数据,而是直接从服务器端获取数据,那直接在服务器页面设置Response.Charset="gb2312"即可,不用再编码解码
vbscript中分别对应js中的escape()和unescape()函数 程序代码
-------------------------------------------------------------------------------
通过以下处理方式得到解决
传递参数的时候 对参数进行编码priceName="encodeURI(priceName)",也可以用encodeURIComponent();
服务器端无需做其他处理: String priceName = request.getParameter("priceName");
Javascript 相关文章推荐
JavaScript多线程的实现方法
May 08 Javascript
FormValid0.5版本发布,带ajax自定义验证例子
Aug 17 Javascript
JavaScript Event学习补遗 addEventSimple
Feb 11 Javascript
JavaScript 原型学习总结
Oct 29 Javascript
javascript作用域链(Scope Chain)用法实例解析
Nov 30 Javascript
基于bootstrap插件实现autocomplete自动完成表单
May 07 Javascript
js 原生判断内容区域是否滚动到底部的实例代码
Nov 15 Javascript
Mac中安装nvm的教程分享
Dec 11 Javascript
在vue组件中使用axios的方法
Mar 16 Javascript
关于vue状态过渡transition不起作用的原因解决
Apr 09 Javascript
解决Vue中的生命周期beforeDestory不触发的问题
Jul 21 Javascript
JS PHP字符串截取函数实现原理解析
Aug 29 Javascript
jQuery插件开发基础简单介绍
Jan 07 #Javascript
jquery入门—数据删除与隔行变色以及图片预览
Jan 07 #Javascript
jquery入门—编写一个导航条(可伸缩)
Jan 07 #Javascript
jquery入门—访问DOM对象方法
Jan 07 #Javascript
jQuery.clean使用方法及思路分析
Jan 07 #Javascript
js获取height和width的方法说明
Jan 06 #Javascript
javascript时间自动刷新实现原理与步骤
Jan 06 #Javascript
You might like
修改php.ini以达到屏蔽错误信息并记录日志
2013/06/16 PHP
laravel安装zend opcache加速器教程
2015/03/02 PHP
用PHP代码给图片加水印
2015/07/01 PHP
PHP defined()函数的使用图文详解
2019/07/20 PHP
JavaScript日历实现代码
2010/09/12 Javascript
Jquery实现带动画效果的经典二级导航菜单
2013/03/22 Javascript
读取input:file的路径并显示本地图片的方法
2013/09/23 Javascript
客户端js性能优化小技巧整理
2013/11/05 Javascript
jquery序列化form表单使用ajax提交后处理返回的json数据
2014/03/03 Javascript
javascript父、子页面交互技巧总结
2014/08/08 Javascript
JS实现仿京东淘宝竖排二级导航
2014/12/08 Javascript
js树插件zTree获取所有选中节点数据的方法
2015/01/28 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
2016/01/03 Javascript
基于JavaScript实现div层跟随滚动条滑动
2016/01/12 Javascript
jQuery基于ID调用指定iframe页面内的方法
2016/07/06 Javascript
jQuery.ajax 跨域请求webapi设置headers的解决方案
2016/08/08 Javascript
js中json处理总结之JSON.parse
2016/10/14 Javascript
javascript实现去除HTML标签的方法
2016/12/26 Javascript
详解使用vue-router进行页面切换时滚动条位置与滚动监听事件
2017/03/08 Javascript
Vue filter介绍及其使用详解
2017/10/21 Javascript
微信小程序实现保存图片到相册功能
2018/11/30 Javascript
Python常见加密模块用法分析【MD5,sha,crypt模块】
2017/05/24 Python
Python实现一个Git日志统计分析的小工具
2017/12/14 Python
Python使用smtp和pop简单收发邮件完整实例
2018/01/09 Python
Selenium(Python web测试工具)基本用法详解
2018/08/10 Python
win7 x64系统中安装Scrapy的方法
2018/11/18 Python
打造经典复古风格的品牌:Alice + Olivia(爱丽丝+奥利维亚)
2016/09/07 全球购物
Moss Bros官网:英国排名第一的西装店
2020/02/26 全球购物
工程地质勘察专业大学生求职信
2013/10/13 职场文书
收银员的岗位职责范本
2014/02/04 职场文书
简历中的自我评价范文
2014/02/05 职场文书
幼儿园毕业家长感言
2014/02/10 职场文书
小学雷锋月活动总结
2014/07/03 职场文书
股东合作协议书
2014/09/12 职场文书
学生党员检讨书范文
2014/12/27 职场文书
旅游投诉信范文
2015/07/02 职场文书