jquery乱码和contentType属性设置问题解决方案
今天闲着无聊,就解决过去遗留的问题,比如Jquery乱码的头疼。其实这方面的文章很多,但是全面解决各种问题的却很少。今天总结一下,方便自己,也方便大家。原因很简单:其实他中文乱码是因为contentType没有指定代码。对于不同版本的Jquery,这个地方有不同的设置。就拿我遇到的来说,jquery-1.6.1和jquery-1.8.3有不同的定义。解决方法:在jquery-1.6.1文件中,搜索“contentType”,在application/x-www-form-URL encoded后添加;Charset=UTF-8最终成为内容类型: ' application/x-www-form-URL encoded;charset=UTF-8’。这样就可以完美解决post方法提交后代码乱码的问题。如果有乱码,只能说你收到的页面编码有问题,因为异步对象XMLHttpRequest根据UTF-8编码对返回的responseText进行解码。因此,在发布模式下,您必须将此页面保存为文件,并将页面文件的编码更改为UTF-8(请记住)。
在修改之前,整个FROM表单的数据都处于乱码状态,通过上述方法很容易解决。以下是一些特殊问题的总结,来源于网络:JQuery Ajax提交了一个中文乱码的解决方案。2.在使用Jquery之前,使用Ajax提交时会出现乱码字符。我猜可能是编码的原因。可能有以下原因:1。HTML的编码并不统一:比如页面用的是GB2312,JQuery好像不太支持。我以前一直用UTF-8,但一直没找到。2.文件编码,表面上不容易看出来。操作系统简体中文版本中存储的文本格式的默认文件是GB2312。建议最简单的解决方案是将文件更改为UTF-8格式。如果提交的中文文本经过JS转义处理,就不会出现乱码字符。例如,复制代码如下: //Save data $。Ajax({ URL : '/guide/save comments . aspx ',type3360' post ',datatype3360' JSON ',data : ' Action=SaveCommentCommNickName=' escape(comm nickname . val())' ' CommContent=' escape(CommContent . val())' GuideID=' GuideID . val()' scotlogtype=%=scotlogtype % '),success : function(results){ alert(results message);- .顺便说一下,我的tomcat下的uri编码是utf-8。但是,说到中文,检测错了。在网上搜索了一段时间,终于找到了原因,就是乱码问题。解决方案:1。只要在ajax中有提交的数据,如果页面代码不是utf-8,提交的数据就应该被编码。js的编码函数是escape()。2.接收到服务器页面上的数据后进行解码。然后对相关处理后的数据进行编码。3.返回客户端后解码数据。4.如果数据不是提交的,而是直接从服务器获得的,请设置响应。Charset='gb2312 '直接放在服务器页面上。不需要在vbscript中分别对js中的escape()和escape()进行重新编码和解码。程序代码程序代码程序代码。服务器不需要做其他处理。字符串price name=request . getparameter(' price name ');
版权声明:jquery乱码和contentType属性设置问题解决方案是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。