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实现用户名无刷新验证的小例子
Mar 22 Javascript
javascript浏览器窗口之间传递数据的方法
Jan 20 Javascript
javascript实现瀑布流自适应遇到的问题及解决方案
Jan 28 Javascript
JQuery中extend的用法实例分析
Feb 08 Javascript
jQuery实现瀑布流布局详解(PC和移动端)
Sep 01 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
Feb 08 Javascript
React-router 4 按需加载的实现方式及原理详解
May 25 Javascript
微信小程序--组件(swiper)详细介绍
Jun 13 Javascript
Vue自定义事件(详解)
Aug 19 Javascript
微信小程序使用setData修改数组中单个对象的方法分析
Dec 30 Javascript
微信小程序绑定手机号获取验证码功能
Oct 22 Javascript
p5.js绘制创意自画像
Nov 04 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配置文件中最常用四个ini函数
2007/03/19 PHP
用php实现批量查询清除一句话后门的代码
2008/01/20 PHP
PHP字符过滤函数去除字符串最后一个逗号(rtrim)
2013/03/26 PHP
PHP遍历并打印指定目录下所有文件实例
2014/02/10 PHP
php采用file_get_contents代替使用curl实例
2014/11/07 PHP
PHP使用PDO连接ACCESS数据库
2015/03/05 PHP
laravel 事件/监听器实例代码
2019/04/12 PHP
使用SyntaxHighlighter实现HTML高亮显示代码的方法
2010/02/04 Javascript
30分钟就入门的正则表达式基础教程
2013/02/25 Javascript
Jquery通过Ajax方式来提交Form表单的具体实现
2013/11/07 Javascript
jQuery学习笔记之总体架构
2014/06/03 Javascript
jQuery 选择同时包含两个class的元素的实现方法
2016/06/01 Javascript
纯JavaScript 实现flappy bird小游戏实例代码
2016/09/27 Javascript
Bootstrap table的使用方法
2016/11/02 Javascript
通过Ajax使用FormData对象无刷新上传文件方法
2016/12/08 Javascript
老生常谈javascript中逻辑运算符&amp;&amp;和||的返回值问题
2017/04/13 Javascript
vue+axios+mock.js环境搭建的方法步骤
2018/08/28 Javascript
vue+koa2搭建mock数据环境的详细教程
2020/05/18 Javascript
浅谈实现在线预览PDF的几种解决办法
2020/08/10 Javascript
jQuery实现日历效果
2020/09/11 jQuery
详解python的webrtc库实现语音端点检测
2017/05/31 Python
Python mutiprocessing多线程池pool操作示例
2019/01/30 Python
Python中的random.uniform()函数教程与实例解析
2019/03/02 Python
Python多线程爬取豆瓣影评API接口
2019/10/22 Python
Opencv图像处理:如何判断图片里某个颜色值占的比例
2020/06/03 Python
娇韵诗加拿大官网:Clarins加拿大
2017/11/20 全球购物
英国女性时尚精品店:THE DRESSING ROOM
2018/05/23 全球购物
德国W家官网,可直邮中国的母婴商城:Windeln.de
2021/03/03 全球购物
大学毕业自我鉴定范文
2014/02/03 职场文书
高一新生军训方案
2014/05/12 职场文书
经济管理专业求职信
2014/06/09 职场文书
大学生团员个人总结
2015/02/14 职场文书
学习雷锋精神倡议书
2015/04/27 职场文书
大学生就业指导课心得体会
2016/01/15 职场文书
MySQL三种方式实现递归查询
2022/04/18 MySQL
MySQL解决Navicat设置默认字符串时的报错问题
2022/06/16 MySQL