jquery ajax post提交数据乱码


Posted in Javascript onNovember 05, 2013

在用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"
});
 
Javascript 相关文章推荐
JavaScript中的Screen屏幕对象
Jan 16 Javascript
js截取中英文字符串、标点符号无乱码示例解读
Apr 17 Javascript
加随机数引入脚本不让浏览器读取缓存
Sep 04 Javascript
jQuery类选择器用法实例
Dec 23 Javascript
PhantomJS快速入门教程(服务器端的 JavaScript API 的 WebKit)
Aug 06 Javascript
JS+CSS实现带小三角指引的滑动门效果
Sep 22 Javascript
JavaScript中的ParseInt(&quot;08&quot;)和“09”返回0的原因分析及解决办法
May 19 Javascript
js图片切换具体实现代码
Oct 13 Javascript
通过Ajax使用FormData对象无刷新上传文件方法
Dec 08 Javascript
Vue项目中设置背景图片方法
Feb 21 Javascript
Vue-cli配置打包文件本地使用的教程图解
Aug 02 Javascript
Node.js在图片模板上生成二维码图片并附带底部文字说明实现详解
Aug 07 Javascript
jquery ajax属性async(同步异步)示例
Nov 05 #Javascript
jQuery Ajax异步处理Json数据详解
Nov 05 #Javascript
Javascript脚本实现静态网页加密实例代码
Nov 05 #Javascript
客户端js性能优化小技巧整理
Nov 05 #Javascript
js倒计时小程序
Nov 05 #Javascript
js实现幻灯片效果(基于jquery插件)
Nov 05 #Javascript
javascript使用location.search的示例
Nov 05 #Javascript
You might like
某大型网络公司应聘时的笔试题目附答案
2008/03/27 PHP
php Ubb代码编辑器函数代码
2012/07/05 PHP
php中选择什么接口(mysql、mysqli)访问mysql
2013/02/06 PHP
php异常处理使用示例
2014/02/25 PHP
php不使用copy()函数复制文件的方法
2015/03/13 PHP
常用PHP数组排序函数归纳
2016/08/08 PHP
PHP数字前补0的自带函数sprintf 和number_format的用法(详解)
2017/02/06 PHP
EASYUI TREEGRID异步加载数据实现方法
2012/08/22 Javascript
javascript学习笔记--数字格式类型
2014/05/22 Javascript
javascript实现简单的省市区三级联动
2015/05/14 Javascript
javascript检测移动设备横竖屏
2016/05/21 Javascript
基于javascript实现表格的简单操作
2016/05/21 Javascript
提高Web性能的前端优化技巧总结
2017/02/27 Javascript
微信小程序实现YDUI的ScrollNav组件
2018/02/02 Javascript
Vue CLI3 如何支持less的方法示例
2018/08/29 Javascript
微信小程序实现通过js操作wxml的wxss属性示例
2018/12/06 Javascript
解决layui中onchange失效以及form动态渲染失效的问题
2019/09/27 Javascript
Python中asyncore的用法实例
2014/09/29 Python
Python 中迭代器与生成器实例详解
2017/03/29 Python
Python OpenCV 直方图的计算与显示的方法示例
2018/02/08 Python
python中实现将多个print输出合成一个数组
2018/04/19 Python
详解Python基础random模块随机数的生成
2019/03/23 Python
python3中编码获取网页的实例方法
2020/11/16 Python
如何用Matlab和Python读取Netcdf文件
2021/02/19 Python
一款纯css3制作的2015年元旦雪人动画特效教程
2014/12/29 HTML / CSS
html5中使用hotcss.js实现手机端自适配的方法
2020/04/23 HTML / CSS
美国领先的医疗警报服务:Philips Lifeline
2018/03/12 全球购物
出纳的岗位职责
2013/11/09 职场文书
生物学学生自我评价
2014/01/17 职场文书
法院信息化建设方案
2014/05/21 职场文书
社区矫正工作方案
2014/06/04 职场文书
加强干部作风建设整改方案
2014/10/24 职场文书
学生检讨书
2015/01/27 职场文书
2015年全国“爱牙日”宣传活动总结
2015/03/23 职场文书
中小企业员工手册范本
2015/05/14 职场文书
话题作文之关于呼唤
2019/11/29 职场文书