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的一句话搞定手风琴菜单
Sep 14 Javascript
关于JS判断图片是否加载完成且获取图片宽度的方法
Apr 09 Javascript
jquery实现滑动图片自己测试的例子
Nov 05 Javascript
jQuery中:last选择器用法实例
Dec 30 Javascript
jquery图片滚动放大代码分享(1)
Aug 25 Javascript
JavaScript知识点总结之如何提高性能
Jan 15 Javascript
深入理解Ajax的get和post请求
Jun 02 Javascript
原生js实现对Ajax的封装(仿jquery)
Jan 22 Javascript
Angular.js中$resource高大上的数据交互详解
Jul 30 Javascript
JavaScript数据结构与算法之二叉树实现查找最小值、最大值、给定值算法示例
Mar 01 Javascript
vue实现密码显示与隐藏按钮的自定义组件功能
Apr 23 Javascript
JS+CSS+HTML实现“代码雨”类似黑客帝国文字下落效果
Mar 17 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中spl_autoload_register()函数用法实例详解
2016/07/18 PHP
PHP实现的各类hash算法长度及性能测试实例
2017/08/27 PHP
用正则xmlHttp实现的偷(转)
2007/01/22 Javascript
一个javascript图片阅览组件
2010/11/09 Javascript
再谈querySelector和querySelectorAll的区别与联系
2012/04/20 Javascript
treepanel动态加载数据实现代码
2012/12/15 Javascript
不使用ajax实现无刷新提交表单
2014/12/21 Javascript
JavaScript分析、压缩工具JavaScript Analyser
2014/12/31 Javascript
iframe里使用JavaScript控制主页转向的方法
2015/04/03 Javascript
js判断子窗体是否关闭的方法
2015/08/11 Javascript
Bootstrap每天必学之基础排版
2015/11/20 Javascript
使用jQuery和ajax代替iframe的方法(详解)
2017/04/12 jQuery
JS中的数组转变成JSON格式字符串的方法
2017/05/09 Javascript
Node.js中的child_process模块详解
2018/06/08 Javascript
Vue模板语法中数据绑定的实例代码
2019/05/17 Javascript
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
2019/10/28 Javascript
VUE 动态组件的应用案例分析
2019/12/02 Javascript
python密码错误三次锁定(实例讲解)
2017/11/14 Python
Django组件之cookie与session的使用方法
2019/01/10 Python
python面向对象实现名片管理系统文件版
2019/04/26 Python
Python实现带下标索引的遍历操作示例
2019/05/30 Python
pytorch中获取模型input/output shape实例
2019/12/30 Python
python3 使用traceback定位异常实例
2020/03/09 Python
Python实现初始化不同的变量类型为空值
2020/06/02 Python
python实现控制台输出颜色
2021/03/02 Python
关于iframe跨域使用postMessage的实现
2019/10/29 HTML / CSS
迪士尼法国在线商店:shopDisney FR
2020/12/03 全球购物
大学总结自我鉴定
2014/01/18 职场文书
尊师重教演讲稿
2014/09/04 职场文书
离婚答辩状范文
2015/05/22 职场文书
2015年普法依法治理工作总结
2015/05/26 职场文书
名人传读书笔记
2015/06/26 职场文书
校园歌手大赛主持词
2015/07/03 职场文书
年中了,该如何写好个人述职报告?
2019/07/02 职场文书
导游词之天下银坑景区
2019/11/21 职场文书
Mysql中有关Datetime和Timestamp的使用总结
2021/12/06 MySQL