最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2010年07月02日 23:45:36   作者:  
JQuery是一個非常優(yōu)秀的框架,在特定場合下使用JQuery提交數(shù)據,相當?shù)姆奖憧旖荨?但是,在處理一個GB2312編碼的網站AJAX提交時,中文數(shù)據卻成了亂碼。

現(xiàn)象如下:

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

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

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

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

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


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

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

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


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


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

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

馬上查閱JQuery的AJAX工具函數(shù)的說明,發(fā)現(xiàn)options中有一個指定content-type的參數(shù),給我的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!?。?/P>

相關文章

  • jQuery實現(xiàn)聯(lián)動下拉列表查詢框

    jQuery實現(xiàn)聯(lián)動下拉列表查詢框

    這篇文章主要為大家詳細介紹了jQuery實現(xiàn)聯(lián)動下拉列表查詢框,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • jquery tools 系列 scrollable學習

    jquery tools 系列 scrollable學習

    今天繼續(xù)jquery tools六大功能之第三功能 scrollable的學習。一如既往,首先給出操作的html代碼 此html代碼修改自jquery tools官方網站demo代碼
    2009-09-09
  • jQuery中next方法用法實例

    jQuery中next方法用法實例

    這篇文章主要介紹了jQuery中next方法用法,實例分析了jQuery中next方法的功能、定義及相關使用技巧,需要的朋友可以參考下
    2015-04-04
  • jQuery Ajax Post 回調函數(shù)不執(zhí)行問題的解決方法

    jQuery Ajax Post 回調函數(shù)不執(zhí)行問題的解決方法

    本文是小編給大家?guī)淼膉Query Ajax Post 回調函數(shù)不執(zhí)行的原因及解決方法,在本文最下面還給大家附加jquery Ajax 不執(zhí)行回調函數(shù)success的原因,這兩個問題都非常多見,感興趣的朋友一起看下吧
    2016-08-08
  • json定義及jquery操作json的方法

    json定義及jquery操作json的方法

    下面小編就為大家?guī)硪黄猨son定義及jquery操作json的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • jQuery中(function($){})(jQuery)詳解

    jQuery中(function($){})(jQuery)詳解

    本文通過具體示例向大家詳細介紹了jQuery中的(function($){})(jQuery)的用法和意義,對此有相同困惑的小伙伴可以參考下本文。
    2015-07-07
  • jQuery 3 中的新增功能匯總介紹

    jQuery 3 中的新增功能匯總介紹

    本文帶你了解了一遍 jQuery 3 將會帶來的一些重大變化?;蛟S你已經注意到了,這個版本是可能對你現(xiàn)有的項目產生太大的影響,因為沒有引入太多許多重大更改。
    2016-06-06
  • jQuery移動頁面開發(fā)中的觸摸事件與虛擬鼠標事件簡介

    jQuery移動頁面開發(fā)中的觸摸事件與虛擬鼠標事件簡介

    這篇文章主要介紹了jQuery移動頁面開發(fā)中的觸摸事件與虛擬鼠標事件的簡單編寫方法,jQuery是當今人氣最高的Javascript庫并被廣泛應用于移動web的開發(fā),需要的朋友可以參考下
    2015-12-12
  • 基于jquery實現(xiàn)五子棋游戲

    基于jquery實現(xiàn)五子棋游戲

    這篇文章主要為大家詳細介紹了基于jquery實現(xiàn)五子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • jquery EasyUI的formatter格式化函數(shù)代碼

    jquery EasyUI的formatter格式化函數(shù)代碼

    以下實例格式化數(shù)據表格中的一列。如果金額小于20時使用自定義的格式器將文本變成紅色。
    2011-01-01

最新評論

乌苏市| 新竹市| 筠连县| 仙居县| 邵武市| 常熟市| 寿阳县| 固原市| 晋城| 宜都市| 池州市| 军事| 遵义县| 高州市| 海安县| 察雅县| 黄冈市| 泉州市| 定襄县| 额敏县| 长汀县| 兴义市| 巴彦县| 吉木萨尔县| 马龙县| 桦南县| 中方县| 乌恰县| 沙洋县| 房山区| 卢氏县| 夹江县| 皮山县| 濮阳县| 绍兴市| 勐海县| 富川| 沁阳市| 桂林市| 化德县| 年辖:市辖区|