小編給大家分享一下jquery ajax提交亂碼的解決方法,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
成都創(chuàng)新互聯(lián)公司服務項目包括邵武網(wǎng)站建設(shè)、邵武網(wǎng)站制作、邵武網(wǎng)頁制作以及邵武網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,邵武網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到邵武省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
jquery ajax提交亂碼的解決辦法:1、將編碼設(shè)置統(tǒng)一;2、使用post方法來傳遞參數(shù);3、通過在js前端escape編碼,然后在后臺解碼取得數(shù)據(jù);4、在全局設(shè)定contentType,指定編碼即可。
jquery ajax 提交數(shù)據(jù)亂碼怎么辦?
在用jquery處理html5的應用的時候,一直在firefox下測試都正常,用戶用pad訪問的時候說有亂碼,自己試驗了下果然,后發(fā)現(xiàn)chrome和ie內(nèi)核下都是有此問題,此問題設(shè)置了頁面屬性為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 做字符轉(zhuǎn)換
總結(jié)一下ajax 提交數(shù)據(jù)亂碼一些經(jīng)驗
為了避免亂碼,可以做到以下幾步
解決方法
1,保持編碼的統(tǒng)一,包括文件編碼,數(shù)據(jù)庫編碼,網(wǎng)頁content-type編碼
檢查一下
建議中文都是用UTF-8,使用gbk/gb2312有可能會出現(xiàn)亂碼
2,使用post來發(fā)送而不是get
get方法是會通過鏈接來傳遞參數(shù),而且會自動urlEncode(編碼),而各個瀏覽器編碼的方式可能不太一樣。使用post可以避免這種情況。
3,通過在js前端escape編碼再發(fā)送,然后后臺解碼取得數(shù)據(jù)
這些可以在網(wǎng)上搜索
4,在全局設(shè)定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 ajax提交亂碼的解決方法”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!