如何解决JQuery ajaxSubmit提交中文乱码

本文给大家分享jquery ajax submit提交中文乱码问题的解决办法,感兴趣的朋友跟着我一起来学习吧

一般人使用是

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 ajax 返回json时出现中文乱码该如何解决

Django框架如何使用ajax的post方法

详解ajax +jtemplate实现动态分页

以上就是如何解决JQuery ajaxSubmit提交中文乱码的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2757671.html

(0)
上一篇 2025年3月8日 07:59:34
下一篇 2025年3月8日 07:59:42

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论