如何解決JQuery ajaxSubmit提交中文亂碼
一般人使用是
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ì)大家有所幫助。
- jQuery中的AjaxSubmit使用講解
- 淺談jquery.form.js的ajaxSubmit和ajaxForm的使用
- jQuery ajaxSubmit 實(shí)現(xiàn)ajax提交表單局部刷新
- jQuery form插件之a(chǎn)jaxForm()和ajaxSubmit()的可選參數(shù)項(xiàng)對(duì)象
- jQuery使用ajaxSubmit()提交表單示例
- jquery ajaxSubmit 異步提交的簡(jiǎn)單實(shí)現(xiàn)
- jquery的ajaxSubmit()異步上傳圖片并保存表單數(shù)據(jù)演示代碼
- Jquery ajaxsubmit上傳圖片實(shí)現(xiàn)代碼
- 如何理解jQuery中的ajaxSubmit方法
相關(guān)文章
ajax內(nèi)部值外部調(diào)用不了的原因及解決方法
下面小編就為大家?guī)?lái)一篇ajax內(nèi)部值外部調(diào)用不了的原因及解決方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2016-06-06AJAX如何實(shí)現(xiàn)無(wú)刷新登錄功能
點(diǎn)擊登錄按鈕時(shí)彈出登錄窗口,輸入正確的用戶名密碼后點(diǎn)擊登錄則登錄窗口關(guān)閉,狀態(tài)改為當(dāng)前用戶名.這篇文章主要介紹了AJAX如何實(shí)現(xiàn)無(wú)刷新登錄功能,需要的朋友參考下2017-01-01jQuery+Ajax實(shí)現(xiàn)表格數(shù)據(jù)不同列標(biāo)題排序(為表格注入活力)
CSS也使得表格的布局越來(lái)越光彩耀人。但是,無(wú)論如何,都掩飾不了那些包裝下的死板,接下來(lái)為大家介紹下讓那些死板的數(shù)據(jù) 更具有可讀性、可用性2013-04-04用Promise解決多個(gè)異步Ajax請(qǐng)求導(dǎo)致的代碼嵌套問題(完美解決方案)
這篇文章主要介紹了用Promise解決多個(gè)異步Ajax請(qǐng)求導(dǎo)致的代碼嵌套問題(完美解決方案),需要的朋友可以參考下2017-02-02AJAX實(shí)現(xiàn)文件上傳功能報(bào)錯(cuò)Current request is not a&n
這篇文章主要介紹了AJAX文件上傳功能實(shí)現(xiàn)中出現(xiàn)報(bào)錯(cuò)Current request is not a multipart request的問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07ajax的get請(qǐng)求時(shí)緩存處理解決方法
這篇文章主要介紹了ajax的get請(qǐng)求時(shí)緩存處理解決方法,詳細(xì)分析了常見的四種解決方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-02-02Ajax技術(shù)(WEB無(wú)刷新提交數(shù)據(jù))-
Ajax技術(shù)(WEB無(wú)刷新提交數(shù)據(jù))-...2006-07-07