主页 > 知识库 > 如何解决JQuery ajaxSubmit提交中文乱码

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

热门标签:Mysql连接数设置 银行业务 科大讯飞语音识别系统 团购网站 阿里云 电子围栏 Linux服务器 服务器配置

一般人使用是

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中的AjaxSubmit使用讲解
  • 浅谈jquery.form.js的ajaxSubmit和ajaxForm的使用
  • jQuery ajaxSubmit 实现ajax提交表单局部刷新
  • jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象
  • jQuery使用ajaxSubmit()提交表单示例
  • jquery ajaxSubmit 异步提交的简单实现
  • jquery的ajaxSubmit()异步上传图片并保存表单数据演示代码
  • Jquery ajaxsubmit上传图片实现代码
  • 如何理解jQuery中的ajaxSubmit方法

标签:广元 枣庄 蚌埠 衢州 江苏 萍乡 大理 衡水

巨人网络通讯声明:本文标题《如何解决JQuery ajaxSubmit提交中文乱码》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266