jquery ajax post提交数据乱码

 更新时间:2013年11月05日 16:29:11   作者:  
今天发现在使用jquery ajax.post提交数据时会发现数据在ff正常,但在chrome与ie浏览器中post过去的数据全部是乱码
在用jquery处理html5的应用的时候,一直在firefox下测试都正常,用户用pad访问的时候说有乱码,
自己试验了下果然,后发现chrome和ie内核下都是有此问题,此问题设置了页面属性为utf-8时候,只有firefox是传的charset=utf-8的头文件
chrome和ie都没有指定,所以出现乱码问题.
解决方法:
复制代码 代码如下:

$.ajaxSetup({
  contentType: "application/x-www-form-urlencoded; charset=utf-8"
});
$.post("test.php", { name: "i5a6", time: "2pm" },
   function(data){
     process(data);
   }, "json");
 

或者使用:
复制代码 代码如下:

$.ajax({
  url:url,
  type:"POST",
  data:data,
  contentType:"application/x-www-form-urlencoded; charset=utf-8",
  dataType:"json",
  success: function(){
    ...
  }
})
 

推荐使用第一种,不过也是根据自己的实际情况看的,有人推荐用 encodeURIComponent 做字符转换
总结一下ajax 提交数据乱码一些经验
为了避免乱码,可以做到以下几步
解决方法
1,保持编码的统一,包括文件编码,数据库编码,网页content-type编码
检查一下<meta http-equiv=”content-type” content=”text/html; charset=UTF-8″ />
建议中文都是用UTF-8,使用gbk/gb2312有可能会出现乱码
2,使用post来发送而不是get
get方法是会通过链接来传递参数,而且会自动urlEncode(编码),而各个浏览器编码的方式可能不太一样。使用post可以避免这种情况。
3,通过在js前端escape编码再发送,然后后台解码取得数据
这些可以在网上搜索
4,在全局设定contentType,指定编码
因为jquery ajax是使用utf-8来编码发送数据的,ie在发送时却没加上charset=utf-8,从而导致乱码(IE默认使用iso-8859-1编码)
复制代码 代码如下:

$.ajaxSetup({
 contentType: "application/x-www-form-urlencoded; charset=utf-8"
});
 

相关文章

  • jQuery的事件委托实例分析

    jQuery的事件委托实例分析

    本文通过具体的实例向我们简单介绍了jQuery的事件委托的实现方式,十分的简单实用,有需要的小伙伴可以参考下。
    2015-07-07
  • jquery模拟SELECT下拉框取值效果

    jquery模拟SELECT下拉框取值效果

    说到模拟SELECT框,想必大家第一想到的就是使用javascript吧,其实是jquery也是可以做到的,下面有个不错的示例,感兴趣的朋友可以参考下
    2013-10-10
  • jQuery基于cookie实现换肤功能实例

    jQuery基于cookie实现换肤功能实例

    这篇文章主要介绍了jQuery基于cookie实现换肤功能,结合具体实例形式分析了jQuery使用cookie记录与读取用户信息实现页面样式的操作方法,需要的朋友可以参考下
    2017-10-10
  • jquery checkbox全选、取消全选实现代码

    jquery checkbox全选、取消全选实现代码

    jquery实现checkbox全选、取消全选的代码。
    2010-03-03
  • jQuery实现手风琴效果(蒙版)

    jQuery实现手风琴效果(蒙版)

    这篇文章主要介绍了jQuery实现手风琴效果,附带蒙版特效,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • jQuery中prevAll()方法用法实例

    jQuery中prevAll()方法用法实例

    这篇文章主要介绍了jQuery中prevAll()方法用法,实例分析了prevAll()方法的功能、定义及查找匹配元素集合之前所有同辈元素的使用技巧,需要的朋友可以参考下
    2015-01-01
  • JQuery EasyUI 加载两次url的原因分析及解决方案

    JQuery EasyUI 加载两次url的原因分析及解决方案

    这篇文章主要介绍了JQuery EasyUI 加载两次url的原因分析及解决方案,需要的朋友可以参考下
    2014-08-08
  • easyui-datagrid开发实践(总结)

    easyui-datagrid开发实践(总结)

    本篇文章主要介绍了easyui-datagrid开发实践(总结),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • jQuery中slice()方法用法实例

    jQuery中slice()方法用法实例

    这篇文章主要介绍了jQuery中slice()方法用法,实例分析了slice()方法的功能、定义及选取匹配元素集子集的使用技巧,需要的朋友可以参考下
    2015-01-01
  • jQuery/JS监听input输入框值变化实例

    jQuery/JS监听input输入框值变化实例

    在本篇文章里小编给大家整理的是一篇关于jQuery/JS监听input输入框值变化实例内容,需要的朋友们学习下。
    2019-10-10

最新评论