JQuery ajaxSubmit提交中文乱码的解决方案
2012-07-02 15:24
681 查看
一般 使用是
分析:JQuery的AJAX提交,会将要提交的数据进行编码,使用encodeURIComponent在js中处理数据。因此,无论是 Firefox或者IE,提交的数据都是一致的,都是UTF-8编码后的数据。
查看Header,发现Entity中的Content-Type存在差异
在Firefox中,Content-Type指定了字符集为utf-8。
而IE里面却没有任何字符集指定,
显然,默认情况下,AJAX的异步提交的字符编码应该和网页本身保持一致,也就是说,Server端在没有发现显示的charset指定的情 况下,使用gb2312来解码数据(但是数据在提交前已经被UTF-8编码了),这就是为什么在IE下会出现乱码的根源,而在Firefox下,浏览器在 提交AJAX数据的时候,加上了charset的显示指定,导致Server端采用UTF-8来解码数据(正确解码)。
查阅JQuery的AJAX工具函数的说明,发现options中有一个指定content-type的参数
所以在提交的时候要指定编码类型
contentType: "application/x-www-form-urlencoded; charset=utf-8",
即如下
jQuery(form).ajaxSubmit({ url: "ajaxsub.aspx?abc=test", type: "post", dataType: "json", success: data });
分析:JQuery的AJAX提交,会将要提交的数据进行编码,使用encodeURIComponent在js中处理数据。因此,无论是 Firefox或者IE,提交的数据都是一致的,都是UTF-8编码后的数据。
查看Header,发现Entity中的Content-Type存在差异
在Firefox中,Content-Type指定了字符集为utf-8。
而IE里面却没有任何字符集指定,
显然,默认情况下,AJAX的异步提交的字符编码应该和网页本身保持一致,也就是说,Server端在没有发现显示的charset指定的情 况下,使用gb2312来解码数据(但是数据在提交前已经被UTF-8编码了),这就是为什么在IE下会出现乱码的根源,而在Firefox下,浏览器在 提交AJAX数据的时候,加上了charset的显示指定,导致Server端采用UTF-8来解码数据(正确解码)。
查阅JQuery的AJAX工具函数的说明,发现options中有一个指定content-type的参数
所以在提交的时候要指定编码类型
contentType: "application/x-www-form-urlencoded; charset=utf-8",
即如下
jQuery(form).ajaxSubmit({ url: "ajaxsub.aspx?abc=test", type: "post", dataType: "json", contentType: "application/x-www-form-urlencoded; charset=utf-8", success: data });
相关文章推荐
- JQuery ajaxSubmit提交中文乱码的解决方案
- JQuery中Ajax的Post提交中文乱码的解决方案
- JQuery中Ajax的Post提交中文乱码的解决方案
- jQuery-Ajax提交数据中文乱码问题的解决方案
- 页面编码为GBK时 jquery 提交ajax数据完美解决"中文乱码"方案
- JQuery中Ajax的Post提交中文乱码、windows.location.href 中文汉字乱码和springmvc使用原生态HttpServletRequest接收参数中文乱码解决办法
- 解决JQuery表单异步提交到action的乱码问题(ajaxform,ajaxsubmit)
- jquery的ajax()函数中文传值出现乱码完美解决方案
- jquery.form 提交中文时乱码(GBK 乱码)的解决方案
- jquery中ajax方法提交数据时,中文乱码问题解决。
- JQuery中Ajax的Post提交在IE下中文乱码的解决方法
- 页面编码为GBK时_jquery_提交ajax数据完美解决中文乱码方案
- 用ajax提交表单时中文乱码解决方案 推荐
- Asp中使用JQuery的AJAX提交中文乱码解决方法
- JQuery中Ajax提交在IE下中文乱码的解决方法
- 用jquery提交AJAX的中文乱码问题
- Asp中使用JQuery的AJAX提交中文乱码解决方法
- JQuery在Ajax的Post提交中国乱码的解决方案
- 页面编码为GBK时 jquery 提交ajax数据完美解决中文乱码方案
- 页面编码为GBK时 jquery 提交ajax数据完美解决"中文乱码"方案