您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

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

2025/1/7 2:46:58发布11次查看
本文给大家分享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提交中文乱码的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product