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学习笔记8 用JSON做原型
Jan 11 Javascript
js中精确计算加法和减法示例
Mar 28 Javascript
解决html按钮切换绑定不同函数后点击时执行多次函数问题
May 14 Javascript
js判断浏览器是否支持html5
Aug 17 Javascript
深入理解JavaScript系列(48):对象创建模式(下篇)
Mar 04 Javascript
Javascript类型系统之String字符串类型详解
Jun 21 Javascript
ionic实现滑动的三种方式
Aug 27 Javascript
js实现百度搜索提示框
Feb 05 Javascript
Vue项目安装插件并保存
Jan 28 Javascript
npm qs模块使用详解
Feb 07 Javascript
JS实现躲避粒子小游戏
Jun 18 Javascript
JavaScript如何实现防止重复的网络请求的示例
Jan 28 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
phpMyAdmin 安装教程全攻略
2007/03/19 PHP
深入探讨<br />和 \r\n两者有什么区别??
2013/06/05 PHP
PHP与以太坊交互详解
2018/08/24 PHP
Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解
2019/12/04 PHP
JSON 教程 json入门学习笔记
2020/09/22 Javascript
jquery焦点图片切换(数字标注/手动/自动播放/横向滚动)
2013/01/24 Javascript
jQuery JSON实现无刷新三级联动实例探讨
2013/05/28 Javascript
JavaScript使用Replace进行字符串替换的方法
2015/04/14 Javascript
基于jquery实现页面滚动时顶部导航显示隐藏
2020/04/20 Javascript
vue.js  父向子组件传参的实例代码
2017/10/29 Javascript
详解ES6 系列之异步处理实战
2018/10/26 Javascript
微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解
2019/03/28 Javascript
使用原生JS实现火锅点餐小程序(面向对象思想)
2019/12/10 Javascript
webpack proxy 使用(代理的使用)
2020/01/10 Javascript
[48:20]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
利用Python进行异常值分析实例代码
2017/12/07 Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
2018/01/04 Python
Python实现从log日志中提取ip的方法【正则提取】
2018/03/31 Python
pycharm 解除默认unittest模式的方法
2018/11/30 Python
在python中利用最小二乘拟合二次抛物线函数的方法
2018/12/29 Python
django-allauth入门学习和使用详解
2019/07/03 Python
python 根据字典的键值进行排序的方法
2019/07/24 Python
wxPython实现画图板
2020/08/27 Python
python3 webp转gif格式的实现示例
2019/12/10 Python
用opencv给图片换背景色的示例代码
2020/07/08 Python
Python3爬虫关于识别检验滑动验证码的实例
2020/07/30 Python
Python实例方法、类方法、静态方法区别详解
2020/09/05 Python
HTML5新特性之语义化标签
2017/10/31 HTML / CSS
Aurora London官网:奢华、负担得起的皮革手袋
2020/08/01 全球购物
异常和异常类的概念
2014/09/12 面试题
会计专业大学生职业生涯规划范文
2014/01/11 职场文书
小学教师年度个人总结
2015/02/05 职场文书
搭讪开场白台词大全
2015/05/28 职场文书
七一晚会主持词
2015/06/29 职场文书
详细聊一聊mysql的树形结构存储以及查询
2022/04/05 MySQL
windows安装 redis 6.2.6最新步骤详解
2022/04/26 Redis