這篇文章給大家分享的是有關(guān)JQuery ajaxSubmit提交中文亂碼怎么辦的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、盂縣網(wǎng)絡(luò)推廣、微信小程序定制開發(fā)、盂縣網(wǎng)絡(luò)營銷、盂縣企業(yè)策劃、盂縣品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供盂縣建站搭建服務(wù),24小時服務(wù)熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com
一般人使用是
jQuery(form).ajaxSubmit({ url: "ajaxsub.aspx?abc=test", type: "post", dataType: "json", success: data });
分析:JQuery的AJAX提交,會將要提交的數(shù)據(jù)進行編碼,使用encodeURIComponent在js中處理數(shù)據(jù)。因此,無論是 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)頁本身保持一致,也就是說,Server端在沒有發(fā)現(xiàn)顯示的charset指定的情 況下,使用gb2312來解碼數(shù)據(jù)(但是數(shù)據(jù)在提交前已經(jīng)被UTF-8編碼了),這就是為什么在IE下會出現(xiàn)亂碼的根源,而在Firefox下,瀏覽器在 提交AJAX數(shù)據(jù)的時候,加上了charset的顯示指定,導(dǎo)致Server端采用UTF-8來解碼數(shù)據(jù)(正確解碼)。
查閱JQuery的AJAX工具函數(shù)的說明,發(fā)現(xiàn)options中有一個指定content-type的參數(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 });
感謝各位的閱讀!關(guān)于“JQuery ajaxSubmit提交中文亂碼怎么辦”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!