欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何解決JQuery ajaxSubmit提交中文亂碼

 更新時(shí)間:2015年09月15日 10:11:19   投稿:mrr  
本文給大家分享jquery ajax submit提交中文亂碼問題的解決辦法,感興趣的朋友跟著腳本之家的小編一起來(lái)學(xué)習(xí)吧

一般人使用是

jQuery(form).ajaxSubmit({ 
url: "ajaxsub.aspx?abc=test",
type: "post", 
dataType: "json", 
success: data
});

分析:JQuery的AJAX提交,會(huì)將要提交的數(shù)據(jù)進(jìn)行編碼,使用encodeURIComponent在js中處理數(shù)據(jù)。因此,無(wú)論是 Firefox或者IE,提交的數(shù)據(jù)都是一致的,都是UTF-8編碼后的數(shù)據(jù)。

查看Header,發(fā)現(xiàn)Entity中的Content-Type存在差異

在Firefox中,Content-Type指定了字符集為utf-8。

而IE里面卻沒有任何字符集指定,

顯然,默認(rèn)情況下,AJAX的異步提交的字符編碼應(yīng)該和網(wǎng)頁(yè)本身保持一致,也就是說(shuō),Server端在沒有發(fā)現(xiàn)顯示的charset指定的情 況下,使用gb2312來(lái)解碼數(shù)據(jù)(但是數(shù)據(jù)在提交前已經(jīng)被UTF-8編碼了),這就是為什么在IE下會(huì)出現(xiàn)亂碼的根源,而在Firefox下,瀏覽器在 提交AJAX數(shù)據(jù)的時(shí)候,加上了charset的顯示指定,導(dǎo)致Server端采用UTF-8來(lái)解碼數(shù)據(jù)(正確解碼)。

查閱JQuery的AJAX工具函數(shù)的說(shuō)明,發(fā)現(xiàn)options中有一個(gè)指定content-type的參數(shù)

所以在提交的時(shí)候要指定編碼類型

contentType: "application/x-www-form-urlencoded; charset=utf-8",

即如下

jQuery(form).ajaxSubmit({ 
url: "ajaxsub.aspx?abc=test", 
type: "post", 
dataType: "json", 
contentType: "application/x-www-form-urlencoded; charset=utf-8", 
success: data
});

以上內(nèi)容給大家分享了如何解決JQuery ajaxSubmit提交中文亂碼,希望對(duì)大家有所幫助。

相關(guān)文章

最新評(píng)論