最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

jquery ajax post提交數(shù)據(jù)亂碼

 更新時間:2013年11月05日 16:29:11   作者:  
今天發(fā)現(xiàn)在使用jquery ajax.post提交數(shù)據(jù)時會發(fā)現(xiàn)數(shù)據(jù)在ff正常,但在chrome與ie瀏覽器中post過去的數(shù)據(jù)全部是亂碼
在用jquery處理html5的應用的時候,一直在firefox下測試都正常,用戶用pad訪問的時候說有亂碼,
自己試驗了下果然,后發(fā)現(xiàn)chrome和ie內(nèi)核下都是有此問題,此問題設置了頁面屬性為utf-8時候,只有firefox是傳的charset=utf-8的頭文件
chrome和ie都沒有指定,所以出現(xiàn)亂碼問題.
解決方法:
復制代碼 代碼如下:

$.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(){
    ...
  }
})
 

推薦使用第一種,不過也是根據(jù)自己的實際情況看的,有人推薦用 encodeURIComponent 做字符轉換
總結一下ajax 提交數(shù)據(jù)亂碼一些經(jīng)驗
為了避免亂碼,可以做到以下幾步
解決方法
1,保持編碼的統(tǒng)一,包括文件編碼,數(shù)據(jù)庫編碼,網(wǎng)頁content-type編碼
檢查一下<meta http-equiv=”content-type” content=”text/html; charset=UTF-8″ />
建議中文都是用UTF-8,使用gbk/gb2312有可能會出現(xiàn)亂碼
2,使用post來發(fā)送而不是get
get方法是會通過鏈接來傳遞參數(shù),而且會自動urlEncode(編碼),而各個瀏覽器編碼的方式可能不太一樣。使用post可以避免這種情況。
3,通過在js前端escape編碼再發(fā)送,然后后臺解碼取得數(shù)據(jù)
這些可以在網(wǎng)上搜索
4,在全局設定contentType,指定編碼
因為jquery ajax是使用utf-8來編碼發(fā)送數(shù)據(jù)的,ie在發(fā)送時卻沒加上charset=utf-8,從而導致亂碼(IE默認使用iso-8859-1編碼)
復制代碼 代碼如下:

$.ajaxSetup({
 contentType: "application/x-www-form-urlencoded; charset=utf-8"
});
 

相關文章

最新評論

洛隆县| 汶川县| 剑阁县| 额济纳旗| 武威市| 禄丰县| 广河县| 南川市| 兰考县| 富阳市| 循化| 桦川县| 东阿县| 巴林左旗| 祁门县| 石景山区| 平遥县| 平远县| 宝应县| 理塘县| 嵊泗县| 沽源县| 贵阳市| 得荣县| 南京市| 察雅县| 灌南县| 垫江县| 贵州省| 二连浩特市| 芒康县| 丹阳市| 临澧县| 噶尔县| 沙湾县| 奉新县| 丹寨县| 财经| 湖南省| 晋宁县| 昆明市|