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实现上传图片前的预览(TX的面试题)
Aug 20 Javascript
jquery 新手学习常见问题解决方法
Apr 18 Javascript
JavaScript 基础篇之运算符、语句(二)
Apr 07 Javascript
jQuery拖拽div实现思路
Feb 19 Javascript
jQuery中toggleClass()方法用法实例
Jan 05 Javascript
Seajs是什么及sea.js 由来,特点以及优势
Oct 13 Javascript
vue-router 实现导航守卫(路由卫士)的实例代码
Sep 02 Javascript
小程序文字跑马灯效果
Dec 28 Javascript
使用VueRouter的addRoutes方法实现动态添加用户的权限路由
Jun 03 Javascript
Vue初始化中的选项合并之initInternalComponent详解
Jun 11 Javascript
React forwardRef的使用方法及注意点
Jun 13 Javascript
如何用vue实现网页截图你知道吗
Nov 17 Vue.js
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 isset()与empty()的使用区别详解
2010/08/29 PHP
thinkPHP中分页用法实例分析
2015/12/26 PHP
Yii2中YiiBase自动加载类、引用文件方法分析(autoload)
2016/07/25 PHP
php获取指定数量随机字符串的方法
2017/02/06 PHP
Hutia 的 JS 代码集
2006/10/24 Javascript
js获取php变量的实现代码
2013/08/10 Javascript
fmt:formatDate的输出格式详解
2014/01/09 Javascript
JS实现的颜色实时渐变效果完整实例
2016/03/25 Javascript
JS 实现倒计时数字时钟效果【附实例代码】
2016/03/30 Javascript
artDialog+plupload实现多文件上传
2016/07/19 Javascript
JS函数修改html的元素内容,及修改属性内容的方法
2016/10/28 Javascript
正则表达式替换html元素属性的方法
2016/11/26 Javascript
JavaScript实现经纬度转换成地址功能
2017/03/28 Javascript
详谈jQuery中使用attr(), prop(), val()获取value的异同
2017/04/25 jQuery
浅谈vuex 闲置状态重置方案
2018/01/04 Javascript
jQuery实现朋友圈查看图片
2020/09/11 jQuery
[28:28]Ti4 冒泡赛第二天NEWBEE vs NaVi 2
2014/07/15 DOTA
[54:24]Optic vs TNC 2018国际邀请赛小组赛BO2 第二场
2018/08/18 DOTA
[46:40]VGJ.T vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
python使用tornado实现登录和登出
2018/07/28 Python
详解python校验SQL脚本命名规则
2019/03/22 Python
Python中的self用法详解
2019/08/06 Python
python中从for循环延申到推导式的具体使用
2019/11/29 Python
Python多个装饰器的调用顺序实例解析
2020/05/22 Python
python如何处理程序无法打开
2020/06/16 Python
python list等分并从等分的子集中随机选取一个数
2020/11/16 Python
html5 offlline 缓存使用示例
2013/06/24 HTML / CSS
求职简历推荐信范文
2013/12/02 职场文书
大学生活学习的自我评价
2013/12/03 职场文书
中层干部岗位职责
2013/12/18 职场文书
会议主持词
2014/03/17 职场文书
物业管理专业自荐信
2014/07/01 职场文书
年终晚会活动方案
2014/08/21 职场文书
离职信范文
2015/06/23 职场文书
关于战胜挫折的名言警句大全!
2019/07/05 职场文书
Nebula Graph解决风控业务实践
2022/03/31 MySQL