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 相关文章推荐
基于jQuery的message插件实现右下角弹出消息框
Jan 11 Javascript
js jquery分别实现动态的文件上传操作按钮的添加和删除
Jan 13 Javascript
javascript将相对路径转绝对路径示例
Mar 14 Javascript
js数值计算时使用parseInt进行数据类型转换(jquery)
Oct 07 Javascript
JS往数组中添加项性能分析
Feb 25 Javascript
javascript实现类似百度分享功能的方法
Jul 27 Javascript
JS实现点击事件统计的简单实例
Jul 10 Javascript
jQuery和CSS仿京东仿淘宝列表导航菜单
Jan 04 Javascript
vue省市区三联动下拉选择组件的实现
Apr 28 Javascript
使用nvm管理不同版本的node与npm的方法
Oct 31 Javascript
js实现动态增加文件域表单功能
Oct 22 Javascript
Javascript实现动态时钟效果
Nov 17 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
PHP编程之高级技巧——利用Mysql函数
2006/10/09 PHP
php MySQL与分页效率
2008/06/04 PHP
探讨Hessian在PHP中的使用分析
2013/06/13 PHP
thinkPHP实现瀑布流的方法
2014/11/29 PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
2016/04/30 PHP
PHP中使用foreach()遍历二维数组的简单实例
2016/06/13 PHP
thinkphp整合系列之极验滑动验证码geetest功能
2019/06/18 PHP
JavaScript 学习初步 入门教程
2010/03/25 Javascript
JavaScript 学习笔记二 字符串拼接
2010/03/28 Javascript
JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型
2012/10/11 Javascript
JS实现登录页面记住密码和enter键登录方法推荐
2016/05/10 Javascript
Bootstrap提示框效果的实例代码
2017/07/12 Javascript
vue的基本用法与常见指令
2017/08/15 Javascript
手把手教你使用vue-cli脚手架(图文解析)
2017/11/08 Javascript
element ui里dialog关闭后清除验证条件方法
2018/02/26 Javascript
python类继承用法实例分析
2014/10/10 Python
python 上下文管理器使用方法小结
2017/10/10 Python
python ddt实现数据驱动
2018/03/14 Python
使用OpenCV实现仿射变换—缩放功能
2019/08/29 Python
python3中利用filter函数输出小于某个数的所有回文数实例
2019/11/24 Python
PyTorch-GPU加速实例
2020/06/23 Python
Python 操作 MySQL数据库
2020/09/18 Python
filter使用python3代码进行迭代元素的实例详解
2020/12/03 Python
使用html2canvas将页面转成图并使用用canvas2image下载
2019/04/04 HTML / CSS
2014年基层党组织公开承诺书
2014/03/29 职场文书
机械系毕业生求职信
2014/05/28 职场文书
营销与策划专业求职信
2014/06/20 职场文书
法学自荐信
2014/06/20 职场文书
民主评议党员自我评价材料
2014/09/18 职场文书
背起爸爸上学观后感
2015/06/08 职场文书
微观世界观后感
2015/06/10 职场文书
团队执行力培训心得体会
2015/08/15 职场文书
学生会宣传部竞选稿
2015/11/21 职场文书
高一作文之乐趣
2019/11/21 职场文书
Pillow图像处理库安装及使用
2022/04/12 Python
javascript中Set、Map、WeakSet、WeakMap区别
2022/12/24 Javascript