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 相关文章推荐
拖拉表格的JS函数
Nov 20 Javascript
jQuery参数列表集合
Apr 06 Javascript
jQuery控制图片的hover效果(smartRollover.js)
Mar 18 Javascript
JQuery each打印JS对象的方法
Nov 13 Javascript
Javascript中使用A标签获取当前目录的绝对路径方法
Mar 02 Javascript
jquery中表单 多选框的一种巧妙写法
Sep 06 Javascript
利用JavaScript如何查询某个值是否数组内
Jul 30 Javascript
Angular实现搜索框及价格上下限功能
Jan 19 Javascript
对vue v-if v-else-if v-else 的简单使用详解
Sep 29 Javascript
微信小程序单选radio及多选checkbox按钮用法示例
Apr 30 Javascript
javascript实现日历效果
Jun 17 Javascript
vue使用swiper实现中间大两边小的轮播图效果
Nov 24 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
星际流派综述
2020/03/04 星际争霸
第六节 访问属性和方法 [6]
2006/10/09 PHP
浅析memcache启动以及telnet命令详解
2013/06/28 PHP
PHP快速推送微信模板消息
2017/04/14 PHP
比Jquery的document.ready更快的方法
2010/04/28 Javascript
JS复制内容到剪切板的实例代码(兼容IE与火狐)
2013/11/19 Javascript
angularjs实现与服务器交互分享
2014/06/24 Javascript
Jquery弹出层插件ThickBox的使用方法
2014/12/09 Javascript
jQuery中大家不太了解的几个方法
2015/03/04 Javascript
自定义jQuery插件方式实现强制对象重绘的方法
2015/03/23 Javascript
浅析JavaScript中浏览器的兼容问题
2016/04/19 Javascript
使用contextMenu插件实现Bootstrap table弹出右键菜单
2017/02/20 Javascript
Angularjs处理页面闪烁的解决方法
2017/03/09 Javascript
Angular2开发——组件规划篇
2017/03/28 Javascript
基于JavaScript实现类名的添加与移除
2017/04/23 Javascript
JavaScript运动框架 解决防抖动问题、悬浮对联(二)
2017/05/17 Javascript
JavaScript格式化json和xml的方法示例
2019/01/22 Javascript
[05:05]给小松五分钟系列 第二期介绍为什么打DOTA2
2014/07/02 DOTA
Python base64编码解码实例
2015/06/21 Python
Python多线程爬虫简单示例
2016/03/04 Python
python字符串的常用操作方法小结
2016/05/21 Python
Python学生信息管理系统修改版
2018/03/13 Python
Django中url的反向查询的方法
2018/03/14 Python
python对list中的每个元素进行某种操作的方法
2018/06/29 Python
基于python实现聊天室程序
2018/07/27 Python
浅谈python 中类属性共享的问题
2019/07/02 Python
python实现超级玛丽游戏
2020/03/18 Python
python利用appium实现手机APP自动化的示例
2021/01/26 Python
迪卡侬中国官网:Decathlon中国
2020/08/10 全球购物
机电专业大学生求职信
2013/10/04 职场文书
护理毕业生自我鉴定
2014/02/11 职场文书
英文请假条
2014/04/11 职场文书
警察群众路线对照检查材料思想汇报
2014/10/01 职场文书
2015年护士长个人工作总结
2015/04/24 职场文书
2016优秀护士先进个人事迹材料
2016/02/25 职场文书
《天净沙·秋思》教学反思三篇
2019/11/02 职场文书