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

JQuery的Ajax中Post方法傳遞中文出現(xiàn)亂碼的解決方法

 更新時間:2014年10月21日 14:20:47   投稿:shichen2014  
這篇文章主要介紹了JQuery的Ajax中Post方法傳遞中文出現(xiàn)亂碼的解決方法,較為深入的分析了Ajax的post方法出現(xiàn)亂碼的原因,以及具體的解決方法,需要的朋友可以參考下

本文實例講述了JQuery中Post傳遞中文出現(xiàn)的解決方法,即亂碼ajax與jquery.ajax中文參數(shù)post傳遞亂碼處理方法。分享給大家供大家參考。具體分析如下:

問題一:

今天在做項目時,需要用到Ajax,之前我在用GET方式傳遞中文參數(shù)時,只需要在后臺程序中設(shè)置頁面編碼為GB2312即中文能正常顯示,可是這次由于表單項目較多,不適合用GET方式傳遞,只能用POST方式,但發(fā)現(xiàn)后臺程序中設(shè)置編碼為GB2312時中文還是顯示的亂碼。經(jīng)過一番研究問題才最終得到解決。

解決方法:

解決此問題的方法非常簡單,只需要在JS處理參數(shù)時用escape()函數(shù)處理一下即可,而且不需要再用unescape()解碼,這個方法適合POST和GET方式,具體的Ajax代碼這里我不例出,這里給出用escape()函數(shù)處理參數(shù)時的代碼:

復(fù)制代碼 代碼如下:
var htmer ="getcode="+escape(getcode)+"&Content="+escape(Content);
 

通常我們在處理Ajax的時候會在這里直接獲取參數(shù)的值,為了使中文參數(shù)不是亂碼,我們只需要用escape()函數(shù)對參數(shù)處理下即可。

問題二:

當(dāng)網(wǎng)站頁面不是utf-8編碼時,ajax提交的中文便會變成亂碼。

解決方法如下:

找到j(luò)query.js里的contentType:application/x-www-form-urlencoded,將它改成contentType:application/x-www-form-urlencoded; charset=UTF-8就可以了。

原因:未指定charset時,jquery使用ISO-8859-1,ISO8859-1,通常叫做Latin-1。Latin-1包括了書寫所有西方歐洲語言不可缺少的附加字符。jquery的ajax根本沒有考慮到國際化的問題,而使用了歐洲的字符集,所以傳遞中文時才會出現(xiàn)亂碼

我很久以前一直在使用Prototype框架。在.net-GB2312或jsp教程-utf8下都使用過,從來沒遇到有字符編碼的問題。于是將Prototype和JQuery代碼都下載下來打開研究原因。

不同之處在于JQuery默認的contentType:application/x-www-form-urlencoded

而Prototype則是contentType:application/x-www-form-urlencoded; charset=UTF-8

這才是JQuery正在亂碼的原因,在未指定字符集的時候,是使用ISO-8859-1

ISO8859-1,通常叫做Latin-1。Latin-1包括了書寫所有西方歐洲語言不可缺少的附加字符。

JQuery的Ajax根本沒有考慮到國際化的問題,使用了歐洲的字符集,所以才引起了傳遞中文出現(xiàn)亂碼的問題。

而我們的UTF-8則可以解決這一問題。

最終指需要修改JQuery的代碼,顯式聲明contentType使用utf-8字符集,即可解決GB2312中文傳遞的問題。

只需要簡單的將JQuery的代碼加以修改,加上charset=UTF-8就可以了,這樣不需要改變改什么web.config或什么在頁面中改編碼什么的了,也不需要用escapc(str)再在服務(wù)端解碼。英文怎么傳遞,中文也怎么傳遞。

這里給段簡單的代碼測試一下:

test.html頁面代碼:

復(fù)制代碼 代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title></title>
<script type="text/網(wǎng)頁特效" src="scripts/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
function DoAjax(){
$.post("AjaxTest.aspx",{txt:$("#tbox1").val()},
function(data){
$("#AjaxResponse").text(data);
}
);
}
</script>
</head>

<body>
<p><a href="javascript:DoAjax();">AjaxTest</a><input name="tbox1" id="tbox1" type="text" /></p>
<div id="AjaxResponse"></div>
</body>
</html>

AjaxTest.aspx處理頁面:

復(fù)制代碼 代碼如下:
<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" %>
<script runat="server">
string parms;

void Page_Load(object sender , EventArgs e)
{
parms=Request["txt"];
if (String.IsNullOrEmpty(parms)){
Response.Write("Is Null");
}else{
Response.Write(parms);
}
}
</script>

此外,由于Ajax的默認漢字編碼是utf-8,因此比較保險的方法是保證所涉及的頁面統(tǒng)一編碼格式為utf-8。

希望本文所述對大家基于的jQuery的Ajax程序設(shè)計有所幫助。

相關(guān)文章

  • jQuery驗證插件validate使用詳解

    jQuery驗證插件validate使用詳解

    這篇文章主要為大家詳細介紹了jQuery驗證插件validate的使用方法,jQuery.validate.js插件用于對表單輸入進行驗證,對驗證插件感興趣的小伙伴們可以參考一下
    2016-05-05
  • jQuery實現(xiàn)的多滑動門,多選項卡效果代碼

    jQuery實現(xiàn)的多滑動門,多選項卡效果代碼

    這篇文章主要介紹了jQuery實現(xiàn)的多滑動門,多選項卡效果代碼,具有tab切換與滑動門的功能,涉及鼠標(biāo)事件的響應(yīng)與頁面元素屬性動態(tài)變換操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2016-03-03
  • jquery validate poshytip 自定義樣式

    jquery validate poshytip 自定義樣式

    項目中做了一個jquery.validate氣泡提示在新版的jquery.validate中,有這個功能,但在我這里不怎么好用,所以自己加了一個,找了一些插件qtip2的樣式不錯,需要的朋友可以參考下
    2012-11-11
  • 使用jQuery實現(xiàn)鼠標(biāo)點擊左右按鈕滑動切換

    使用jQuery實現(xiàn)鼠標(biāo)點擊左右按鈕滑動切換

    在做web前端開發(fā)的時候經(jīng)常遇到圖片滑動切換特效,接下來通過本文給大家分享使用jQuery實現(xiàn)鼠標(biāo)點擊左右按鈕滑動切換特效,感興趣的朋友參考實現(xiàn)代碼
    2017-08-08
  • JQuery 無廢話系列教程(一) jquery入門 [推薦]

    JQuery 無廢話系列教程(一) jquery入門 [推薦]

    貝殼(就是本文作者了)也屬于剛剛會用點JQuery的那一類型, 在學(xué)習(xí)過程中也遇到挺多問題,特別是在開始入門的時候.一直準(zhǔn)備寫些有關(guān)JQuery的文章,但又恐自己文筆及表達能力有限而"誤人子弟",最終還是鼓起勇氣. 如在文章中有錯誤或者不合適的理解望廣大朋友直接指出批評.
    2009-06-06
  • 基于jquery實現(xiàn)等比縮放圖片

    基于jquery實現(xiàn)等比縮放圖片

    這篇文章主要給大家分享了一段基于jquery實現(xiàn)等比縮放圖片的代碼,非常的實用,這里推薦給大家
    2014-12-12
  • 利用jquery包將字符串生成二維碼圖片

    利用jquery包將字符串生成二維碼圖片

    將一個字符串生成二維碼圖片,如果想要帶log的二維碼,可以在生成后的二維碼中間部位自己添加一個小log,具體實現(xiàn)如下,感興趣的朋友可以參考下
    2013-09-09
  • easyui Droppable組件實現(xiàn)放置特效

    easyui Droppable組件實現(xiàn)放置特效

    droppable和draggable有類似的地方,不過區(qū)別點在于前者著重于將元素放進某個容器中,而后者則著重于可拖拽(雖然可能一些效果兩者都可以實現(xiàn))。而且通過查看easyloader源碼可知道,droppable并不依賴于draggable。
    2015-08-08
  • 基于Jquery的實現(xiàn)回車鍵Enter切換焦點

    基于Jquery的實現(xiàn)回車鍵Enter切換焦點

    系統(tǒng)默認情況下,使用Tab按鍵切換頁面元素的焦點,有沒有想過回車鍵Enter也可以實現(xiàn)這種功能,并且具有良好的用戶體驗。
    2010-09-09
  • 修復(fù)jQuery tablesorter無法正確排序的bug(加千分位數(shù)字后)

    修復(fù)jQuery tablesorter無法正確排序的bug(加千分位數(shù)字后)

    這篇文章主要介紹了如何修復(fù)jQuery tablesorter無法正確排序的bug(加千分位數(shù)字后)的相關(guān)資料,需要的朋友可以參考下
    2016-03-03

最新評論

洛阳市| 泽州县| 岳普湖县| 深圳市| 迁西县| 高阳县| 灵寿县| 邳州市| 泾川县| 金乡县| 武功县| 五原县| 航空| 凌云县| 宜州市| 宁都县| 开远市| 平阳县| 新乡县| 福安市| 湾仔区| 博兴县| 深圳市| 赤城县| 莆田市| 河西区| 奇台县| 东平县| 安阳县| 化德县| 济阳县| 芦山县| 锡林浩特市| 巫山县| 抚松县| 冕宁县| 永丰县| 渝北区| 寿光市| 恩施市| 汽车|