溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jquery $.post 亂碼怎么辦

發(fā)布時間:2020-12-22 09:16:17 來源:億速云 閱讀:172 作者:小新 欄目:web開發(fā)

小編給大家分享一下jquery $.post 亂碼怎么辦,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

jquery $.post亂碼的解決辦法:1、修改代碼為“contentType: "application/x-www-form-urlencoded; charset=utf-8"0”;2、修改代碼“$.ajax({...})”即可。

jquery $.post亂碼解決方法:

$.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"
});

看完了這篇文章,相信你對jquery $.post 亂碼怎么辦有了一定的了解,想了解更多相關知識,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI