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基础教程之数据类型 (字符串 String)
Jan 18 Javascript
js实现对ajax请求面向对象的封装
Jan 08 Javascript
简单实现js选项卡切换效果
Feb 03 Javascript
Node.js复制文件的方法示例
Dec 29 Javascript
ajax异步请求详解
Jan 06 Javascript
vue教程之toast弹框全局调用示例详解
Aug 24 Javascript
浅谈jquery中ajax跨域提交的时候会有2次请求的问题
Nov 10 jQuery
详解Webpack-dev-server的proxy用法
Sep 08 Javascript
CSS3 动画卡顿性能优化的完美解决方案
Sep 20 Javascript
小程序input数据双向绑定实现方法
Oct 17 Javascript
开发Node CLI构建微信小程序脚手架的示例
Mar 27 Javascript
微信小程序弹窗禁止页面滚动的实现代码
Dec 30 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下通过file_get_contents的代理使用方法
2011/02/16 PHP
删除html标签得到纯文本可处理嵌套的标签
2014/04/28 PHP
php读取csc文件并输出
2015/05/21 PHP
PHP扩展Swoole实现实时异步任务队列示例
2019/04/13 PHP
PHP使用JpGraph绘制折线图操作示例【附源码下载】
2019/10/18 PHP
借用Google的Javascript API Loader来加速你的网站
2009/01/28 Javascript
JQuery CSS样式控制 学习笔记
2009/07/23 Javascript
javascript 拖动表格行实现代码
2011/05/05 Javascript
jquery图片放大功能简单实现
2013/08/01 Javascript
jQuery的context属性用法实例
2014/12/27 Javascript
JS实现网站菜单拖拽移位效果的方法
2015/09/24 Javascript
AngularJs篇:使用AngularJs打造一个简易权限系统的实现代码
2016/12/26 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
2017/01/22 Javascript
javascript实现非常简单的小数取整功能示例
2017/06/13 Javascript
express如何解决ajax跨域访问session失效问题详解
2019/06/20 Javascript
javascript实现简易聊天室
2019/07/12 Javascript
一次微信小程序内地图的使用实战记录
2019/09/09 Javascript
vue打开子组件弹窗都刷新功能的实现
2020/09/21 Javascript
ant-design-vue中的select选择器,对输入值的进行筛选操作
2020/10/24 Javascript
python实现计算资源图标crc值的方法
2014/10/05 Python
简单介绍Python中的JSON模块
2015/04/08 Python
python中的字典使用分享
2016/07/31 Python
使paramiko库执行命令时在给定的时间强制退出功能的实现
2021/03/03 Python
Trina Turk官网:美国时装和泳装品牌
2018/06/10 全球购物
英国最大的在线时尚眼镜店:Eyewearbrands
2019/03/12 全球购物
德国自行车商店:Tretwerk
2019/06/21 全球购物
软件测试面试题
2014/01/05 面试题
小学教育毕业生自荐信
2013/11/18 职场文书
新学期家长寄语
2014/01/19 职场文书
能源工程专业应届生求职信
2014/03/01 职场文书
2014年党的群众路线活动个人整改措施
2014/10/28 职场文书
入股协议书范本
2014/11/01 职场文书
办公室岗位职责范本
2015/04/11 职场文书
Html分层的box-shadow效果的示例代码
2021/03/30 HTML / CSS
动画《朋友游戏》公开佐藤友生绘制的开播纪念绘
2022/04/06 日漫
OpenCV项目实践之停车场车位实时检测
2022/04/11 Python