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 - 如何引入js代码
Mar 09 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件。
Dec 26 Javascript
解析img图片没找到onerror事件 Stack overflow at line: 0
Dec 23 Javascript
js函数内变量的作用域分析
Jan 12 Javascript
javascript实现选中复选框后相关输入框变灰不可用的方法
Aug 11 Javascript
js 截取或者替换字符串中的数字实现方法
Jun 13 Javascript
javascript鼠标滑过显示二级菜单特效
Nov 18 Javascript
你知道setTimeout是如何运行的吗?
Aug 16 Javascript
Bootstrap学习笔记 轮播(Carousel)插件
Mar 21 Javascript
JavaScript判断输入是否为数字类型的方法总结
Sep 28 Javascript
Vue实现简单的跑马灯
May 25 Javascript
vue项目打包后提交到git上为什么没有dist这个文件的解决方法
Sep 16 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 autoload机制的详解
2013/06/09 PHP
PHP 导出Excel示例分享
2014/08/18 PHP
Yii使用find findAll查找出指定字段的实现方法
2014/09/05 PHP
PHP实现支付宝即时到账功能
2016/12/21 PHP
yii2.0整合阿里云oss删除单个文件的方法
2017/09/19 PHP
如何在Laravel5.8中正确地应用Repository设计模式
2019/11/26 PHP
jQuery.Autocomplete实现自动完成功能(详解)
2010/07/13 Javascript
JavaScript网页定位详解
2014/01/13 Javascript
鼠标悬浮显示二级菜单效果的jquery实现
2014/10/29 Javascript
详解JavaScript中的Unescape()和String() 函数
2015/11/09 Javascript
JavaScript判断DIV内容是否为空的方法
2016/01/29 Javascript
Angularjs中的事件广播 —全面解析$broadcast,$emit,$on
2016/05/17 Javascript
微信小程序 欢迎界面开发的实例详解
2016/11/30 Javascript
javascript中this关键字详解
2016/12/12 Javascript
基于AngularJS的拖拽文件上传的实例代码
2017/07/15 Javascript
jquery+ajaxform+springboot控件实现数据更新功能
2018/01/22 jQuery
详解webpack打包后如何调试的方法步骤
2018/11/07 Javascript
原生JS实现逼真的图片3D旋转效果详解
2019/02/16 Javascript
JavaScript canvas绘制渐变颜色的矩形
2020/02/18 Javascript
浅谈JavaScript 声明提升
2020/09/14 Javascript
[42:04]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第一局
2016/03/03 DOTA
[01:05:00]2018国际邀请赛 表演赛 Pain vs OpenAI
2018/08/24 DOTA
Python下singleton模式的实现方法
2014/07/16 Python
python求pi的方法
2014/10/08 Python
Python中的pass语句使用方法讲解
2015/05/14 Python
python字符串过滤性能比较5种方法
2017/06/22 Python
python中从str中提取元素到list以及将list转换为str的方法
2018/06/26 Python
Python基于OpenCV库Adaboost实现人脸识别功能详解
2018/08/25 Python
scrapy-redis源码分析之发送POST请求详解
2019/05/15 Python
jupyter notebook指定启动目录的方法
2021/03/02 Python
CSS3中的注音对齐属性ruby-align用法指南
2016/07/01 HTML / CSS
加拿大最大的书店:Indigo
2017/01/01 全球购物
单位员工收入证明样本
2014/10/09 职场文书
三严三实民主生活会发言稿
2014/10/13 职场文书
2014年英语工作总结
2014/12/20 职场文书
小学生差生评语
2014/12/29 职场文书