国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > AJAX > 正文

jquery ajax post提交數據亂碼

2024-09-01 08:32:19
字體:
來源:轉載
供稿:網友
今天發現在使用jquery ajax.post提交數據時會發現數據在ff正常,但在chrome與ie瀏覽器中post過去的數據全部是亂碼

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丹寨县| 郴州市| 东宁县| 马关县| 南江县| 广丰县| 多伦县| 玉林市| 甘肃省| 永康市| 庆城县| 仙居县| 万安县| 汪清县| 卢湾区| 竹溪县| 武陟县| 洮南市| 行唐县| 通道| 丹寨县| 南澳县| 江西省| 曲周县| 平果县| 延边| 沭阳县| 肃宁县| 德钦县| 肃北| 当涂县| 定陶县| 永川市| 图木舒克市| 徐州市| 磴口县| 桑植县| 依兰县| 华容县| 长垣县| 黎城县|