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的eval()中使用函数的进一步讨论
Jul 26 Javascript
jQuery实现原理的模拟代码 -6 代码下载
Aug 16 Javascript
onmouseover和onmouseout的一些问题思考
Aug 14 Javascript
枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
Sep 10 Javascript
javascript:FF/Chrome与IE动态加载元素的区别说明
Jan 26 Javascript
用jQuery与JSONP轻松解决跨域访问的问题
Feb 04 Javascript
关于JS中的apply,call,bind的深入解析
Apr 05 Javascript
vue.js实例对象+组件树的详细介绍
Oct 20 Javascript
JavaScript设计模式之构造器模式(生成器模式)定义与用法实例分析
Jul 26 Javascript
vue视图不更新情况详解
May 16 Javascript
js实现经典贪吃蛇小游戏
Mar 19 Javascript
基于javascript的无缝滚动动画1
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
php环境配置 php5 MySQL5 apache2 phpmyadmin安装与配置图文教程
2007/03/16 PHP
利用php实现禁用IE和火狐的缓存问题
2012/12/03 PHP
PHP获取文件夹大小函数用法实例
2015/07/01 PHP
php 解决substr()截取中文字符乱码问题
2016/07/18 PHP
php源码的使用方法讲解
2019/09/26 PHP
php 中self,this的区别和操作方法实例分析
2019/11/04 PHP
Jquery Ajax学习实例3 向WebService发出请求,调用方法返回数据
2010/03/16 Javascript
JQuery给元素绑定click事件多次执行的解决方法
2014/05/29 Javascript
jQuery实现时尚漂亮的弹出式对话框实例
2015/08/07 Javascript
jQuery封装的屏幕居中提示信息代码
2016/06/08 Javascript
JS产生随机数的几个用法详解
2016/06/22 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
2016/09/26 Javascript
20行js代码实现的贪吃蛇小游戏
2017/06/20 Javascript
Bootstrap-table使用footerFormatter做统计列功能
2018/09/07 Javascript
python下MySQLdb用法实例分析
2015/06/08 Python
python实现文本文件合并
2015/12/29 Python
在Python的Flask框架中构建Web表单的教程
2016/06/04 Python
Python+selenium实现截图图片并保存截取的图片
2018/01/05 Python
python实现微信发送邮件关闭电脑功能
2018/02/22 Python
浅谈关于Python3中venv虚拟环境
2018/08/01 Python
Python unittest 简单实现参数化的方法
2018/11/30 Python
Django ModelForm组件原理及用法详解
2020/10/12 Python
总结python 三种常见的内存泄漏场景
2020/11/20 Python
CSS3实现跳动的动画效果
2016/09/12 HTML / CSS
CSS3打造百度贴吧的3D翻牌效果示例
2017/01/04 HTML / CSS
凯特·丝蓓英国官网:Kate Spade英国
2016/11/07 全球购物
电大学习个人自我评价范文
2013/10/04 职场文书
二手书店创业计划书
2014/01/16 职场文书
献爱心大型公益活动策划方案
2014/09/15 职场文书
2014年施工员工作总结
2014/11/18 职场文书
2015新年寄语(一句话)
2014/12/08 职场文书
员工离职感谢信
2015/01/22 职场文书
四风之害观后感
2015/06/09 职场文书
自荐信大全
2019/03/21 职场文书
Java中多线程下载图片并压缩能提高效率吗
2021/07/01 Java/Android
python playwrigh框架入门安装使用
2022/07/23 Python