天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

JQuery AJAX提交中文亂碼的解決方案

現象如下:

1)在Firefox下,處理頁面的編碼為gb2312,提交數據沒有問題,中文能夠正確解析;

2)在IE8下,處理頁面的編碼為gb2312,提交中文數據出現亂碼。

無論是$.post還是$.ajax,抑或$.ajaxSubmit(來自于Form插件),在之前的UTF-8編碼的網站都沒有出現過任何問題, 看來是由于提交數據的網頁的編碼格式造成的了。不管怎么樣,既然是瀏覽器之間存在差異,還是從HTTP包來看有什么問題吧。

打開Fiddle,分別用Firefox和IE做一個AJAX提交(以用戶登錄為例),檢查他們的HTTP頭,發現

1)兩個瀏覽器提交的Form數據是一致的,都是進行了UTF-8的編碼,如下圖所示。


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

2)查看Header,發現Entity中的Content-Type存在差異

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


而在IE8中,卻沒有任何的字符集指定。


分析:顯然,默認情況下,AJAX的異步提交的字符編碼應該和網頁本身保持一致,也就是說,Server端在沒有發現顯示的charset指定的情 況下,使用gb2312來解碼數據(但是數據在提交前已經被UTF-8編碼了),這就是為什么在IE下會出現亂碼的根源,而在Firefox下,瀏覽器在 提交AJAX數據的時候,加上了charset的顯示指定,導致Server端采用UTF-8來解碼數據(正確解碼)。

推斷:看來要解決這個中文亂碼問題,就必須給AJAX異步提交指定顯 示的charset!

馬上查閱JQuery的AJAX工具函數的說明,發現options中有一個指定content-type的參數,給我的AJAX代碼加上:
復制代碼 代碼如下:
jQuery(form).ajaxSubmit({
url: "ajax.ASPx?a=memberlogin",
type: "post",
dataType: "json",
contentType: "application/x-www-form-urlencoded; charset=utf-8",
success: showLoginResponse
});

測試,OK!!!

JavaScript技術JQuery AJAX提交中文亂碼的解決方案,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 舔1V1高H糙汉 | 一本大道香蕉中文在线视频观看 | 色情www日本欧美 | 欧美人与禽zoz0性伦交app | 女人高潮特级毛片 | 少妇高潮久久久久7777 | 亚洲理论在线a中文字幕 | 国产成人aaa在线视频免费观看 | 亚洲成A人片在线观看中文不卡 | 亚洲中文 字幕 国产 综合 | 伊人网综合网 | 日韩做A爰片久久毛片A片毛茸茸 | 窝窝午夜色视频国产精品东北 | 快穿女主有名器的H纯肉黄暴拉文 | 在线观看永久免费网址 | 免费精品美女久久久久久久久久 | 三级电影免费看 | 日欧一片内射VA在线影院 | 国产精品毛片在线视频 | 伊人色啪啪天天综合婷婷 | 国产精品永久免费视频观看 | 欧美精品色婷婷五月综合 | 尹人久久大香找蕉综合影院 | 欧美最猛12teevideos欧美 欧美最猛12teevideos | aaa级黄影片 | 日本色呦呦 | 裸妇厨房风流在线观看 | 国产高潮久久精品AV无码 | 国产精品成人影院在线观看 | 99免费精品 | yellow在线观看免费直播 | 天堂so导航 | 国产综合91| 全彩无翼污之邪恶女教师 | 亚洲中文 字幕 国产 综合 | 阿离被扒开双腿疯狂输出 | 妖精视频在线观看高清 | 无码一区二区在线欧洲 | 亚洲精品久久久992KVTV | 亚洲精品高清中文字幕完整版 | 我们日本在线观看免费动漫下载 |