jquery ajax post提交数据乱码_jquery

在用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"
});
 

时间: 2024-09-15 19:45:33

jquery ajax post提交数据乱码_jquery的相关文章

详解jquery中$.ajax方法提交表单_jquery

复制代码 代码如下: function postdata(){                        //提交数据函数       $.ajax({                                //调用jquery的ajax方法           type: "POST",                       //设置ajax方法提交数据的形式           url: "ok.php",                   

jQuery简单实现提交数据出现loading进度条的方法_jquery

本文实例讲述了jQuery简单实现提交数据出现loading进度条的方法.分享给大家供大家参考,具体如下: html部分代码如下,复制然后引入类库即可使用 <html> <head> <style type="text/css"> #bg{ display: none; position: absolute; top: 0%; left: 0%; width: 100%; height: 100%; background-color: black;

jQuery Ajax 加载数据时异步显示加载动画_jquery

 ajax加载后台数据就不说的那么细了. 看下面代码首先前台上放置代码 <div id="loadgif" style="width:66px;height:66px;position:absolute;top:50%;left:50%;"> <img alt="加载中..." src="../../Images/loading1.gif"/> </div> 在js脚本文件中首先把这个图片动

jquery按回车提交数据的代码示例_jquery

其实jquery按回车提交数据是很简单的事情,我们只要检查测到用户按了回车就直接绑定事件.click就实现了提交了,在按钮上我们绑定ajax提交表单事件即可.核心代码  复制代码 代码如下: $(document).ready(function(){ $("按下回车的控件").keydown(function(e){ var curKey = e.which; if(curKey == 13){ $("#回车事件按钮控件").click(); return fals

jQuery使用post方法提交数据实例_jquery

本文实例讲述了jQuery使用post方法提交数据的用法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html> <html> <head> <script src="js/jquery.min.js"> </script> <script> $(document).ready(function(){ $("button").click(function(){ $.post(&

Ajax异步提交数据返回值的换行问题实例分析_AJAX相关

本文实例分析了Ajax异步提交数据返回值的换行问题.分享给大家供大家参考,具体如下: 前面分析介绍了<Javascript基于AJAX回调函数传递参数>及<IE浏览器与FF浏览器关于Ajax传递参数值为中文时的区别>,学习了ajax回调函数传参与针对不同浏览器处理中文乱码问题的方法.这里就来分析一下ajax异步提交返回值中换行问题的处理技巧. 背景介绍: 需要实现的功能是:在下拉框中选择分类,提交到PHP根据选择的分类返回该分类下的成员名称,返回值各成员姓名以换行的形式显示到tex

Ajax异步提交数据返回值的换行问题实例分析

本文实例分析了Ajax异步提交数据返回值的换行问题.分享给大家供大家参考,具体如下: 前面分析介绍了<Javascript基于AJAX回调函数传递参数>及<IE浏览器与FF浏览器关于Ajax传递参数值为中文时的区别>,学习了ajax回调函数传参与针对不同浏览器处理中文乱码问题的方法.这里就来分析一下ajax异步提交返回值中换行问题的处理技巧. 背景介绍: 需要实现的功能是:在下拉框中选择分类,提交到PHP根据选择的分类返回该分类下的成员名称,返回值各成员姓名以换行的形式显示到tex

上传-jQuery ajax form提交在IE8下不执行回调函数

问题描述 jQuery ajax form提交在IE8下不执行回调函数 // 上传文件function myUploadExcel(obj) {var options = { url : ""${ctx}/ins/pro/upLoadTempFile.do?filename=""+obj.value dataType : ""text"" beforeSubmit : function(formDatajqFormoption

jquery ajax 导入json数据进行修改操作

问题描述 jquery ajax 导入json数据进行修改操作 json数据 test.txt [ {"XH":1,"YWName":"业务1","SName":"系统1","QDName":"渠道1","HJNumber":5}, {"XH":2,"YWName":"业务2","