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 forEach通用循环遍历方法
Oct 11 Javascript
利用百度地图JSAPI生成h7n9禽流感分布图实现代码
Apr 15 Javascript
使用PHP+JavaScript将HTML页面转换为图片的实例分享
Apr 18 Javascript
easyui-edatagrid.js实现回车键结束编辑功能的实例
Apr 12 Javascript
jQuery实现可兼容IE6的遮罩功能详解
Sep 19 jQuery
详解在vue-cli项目中使用mockjs(请求数据删除数据)
Oct 23 Javascript
three.js 入门案例详解
Jan 23 Javascript
快速了解Node中的Stream流是什么
Feb 13 Javascript
JS实现checkbox互斥(单选)功能示例
May 04 Javascript
vue中使用elementUI组件手动上传图片功能
Dec 13 Javascript
关于ES6尾调用优化的使用
Sep 11 Javascript
vue v-on:click传递动态参数的步骤
Sep 11 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
sony ICF-2010 拆解与改装
2021/03/02 无线电
php跨站攻击实例分析
2014/10/28 PHP
基于递归实现的php树形菜单代码
2014/11/19 PHP
PHP实现的简单mock json脚本分享
2015/02/10 PHP
阿里云PHP SMS短信服务验证码发送方法
2017/07/11 PHP
php 获取xml接口数据的处理方法
2018/05/31 PHP
百度Popup.js弹出框进化版 拖拽小框架发布 兼容IE6/7/8,Firefox,Chrome
2010/04/13 Javascript
jquery 注意事项与常用语法小结
2010/06/07 Javascript
js在IE与firefox的差异集锦
2014/11/11 Javascript
Js 正则表达式知识汇总
2014/12/02 Javascript
完美实现仿QQ空间评论回复特效
2015/05/06 Javascript
轻量级jQuery插件slideBox实现带底栏轮播(焦点图)代码
2016/03/28 Javascript
基于JQuery的购物车添加删除以及结算功能示例
2017/03/08 Javascript
vue渲染时闪烁{{}}的问题及解决方法
2018/03/28 Javascript
JavaScript中join()、splice()、slice()和split()函数用法示例
2018/08/24 Javascript
vue动态绑定class的几种常用方式小结
2019/05/21 Javascript
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
Python单链表的简单实现方法
2014/09/23 Python
Python删除空文件和空文件夹的方法
2015/07/14 Python
python实现将汉字保存成文本的方法
2018/11/16 Python
python利用7z批量解压rar的实现
2019/08/07 Python
Python字符串处理的8招秘籍(小结)
2019/08/13 Python
Python类的绑定方法和非绑定方法实例解析
2020/03/04 Python
python中的selenium安装的步骤(浏览器自动化测试框架)
2020/03/17 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
2020/03/28 Python
html5 Canvas画图教程(6)—canvas里画曲线之arcTo方法
2013/01/09 HTML / CSS
HTML5本地数据库基础操作详解
2016/04/26 HTML / CSS
光声世纪笔试题目
2012/08/25 面试题
刘胡兰的英雄事迹材料
2014/02/11 职场文书
运动会稿件300字
2014/02/14 职场文书
2014年银行工作总结范文
2014/11/12 职场文书
担保贷款承诺书
2015/04/30 职场文书
2015年物业管理员工工作总结
2015/10/15 职场文书
python tkinter Entry控件的焦点移动操作
2021/05/22 Python
Vue2项目中对百度地图的封装使用详解
2022/06/16 Vue.js
windows系统安装配置nginx环境
2022/06/28 Servers