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 EasyUI 使用介绍
Apr 01 Javascript
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
Jun 12 Javascript
使用AngularJS创建单页应用的编程指引
Jun 19 Javascript
深入理解Java线程编程中的阻塞队列容器
Dec 07 Javascript
通过Tabs方法基于easyUI+bootstrap制作工作站
Mar 28 Javascript
JavaScript使用ZeroClipboard操作剪切板
May 10 Javascript
详解Vue路由History mode模式中页面无法渲染的原因及解决
Sep 28 Javascript
jQuery实现的鼠标滚轮控制图片缩放功能实例
Oct 14 jQuery
web前端vue实现插值文本和输出原始html
Jan 19 Javascript
Vue.js 2.0和Cordova开发webApp环境搭建方法
Feb 26 Javascript
js调用设备摄像头的方法
Jul 19 Javascript
Paypal支付不完全指北
Jun 04 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 5.4 你必须要知道的
2013/08/07 PHP
thinkphp常见路径用法分析
2014/12/02 PHP
原创javascript小游戏实现代码
2010/08/19 Javascript
jquery应该如何来设置改变按钮input的onclick事件
2012/12/10 Javascript
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
2012/12/12 Javascript
扩展jQuery对象时如何扩展成员变量具体怎么实现
2014/04/25 Javascript
js 数组去重的四种实用方法
2014/09/09 Javascript
jQuery+json实现动态创建复杂表格table的方法
2016/10/25 Javascript
vue2.0多条件搜索组件使用详解
2020/03/26 Javascript
基于jQuery的左滑出现删除按钮的示例
2017/08/29 jQuery
webpack-dev-server远程访问配置方法
2018/02/22 Javascript
基于vue中keep-alive缓存问题的解决方法
2018/09/21 Javascript
js中null与空字符串&quot;&quot;的区别讲解
2019/01/17 Javascript
微信小程序城市选择及搜索功能的方法
2019/03/22 Javascript
es6 symbol的实现方法示例
2019/04/02 Javascript
微信小程序自定义modal弹窗组件的方法详解
2020/12/20 Javascript
easy_install python包安装管理工具介绍
2013/02/10 Python
python获取各操作系统硬件信息的方法
2015/06/03 Python
Python的Django框架中使用SQLAlchemy操作数据库的教程
2016/06/02 Python
Python生成密码库功能示例
2017/05/23 Python
windows下Virtualenvwrapper安装教程
2017/12/13 Python
python实现一个简单的udp通信的示例代码
2019/02/01 Python
将pytorch转成longtensor的简单方法
2020/02/18 Python
Django Auth用户认证组件实现代码
2020/10/13 Python
Python-split()函数实例用法讲解
2020/12/18 Python
女性时尚网购:Chic Me
2019/07/30 全球购物
测控技术与仪器个人求职信范文
2013/12/30 职场文书
向国旗敬礼活动总结范文2014
2014/09/27 职场文书
财务工作犯错检讨书
2014/10/07 职场文书
卫生院义诊活动总结
2015/05/07 职场文书
辅导员学期工作总结
2015/08/14 职场文书
我的中国梦主题班会
2015/08/14 职场文书
致运动员的广播稿
2015/08/19 职场文书
小学班主任研修日志
2015/11/13 职场文书
2019年度政务公开考核工作总结模板
2019/11/11 职场文书
使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)
2022/01/18 PostgreSQL