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

真正的JQuery.ajax傳遞中文參數(shù)的解決方法

 更新時(shí)間:2011年05月28日 01:12:43   作者:  
許多人在使用JQuery.ajax方法時(shí)肯定會(huì)遇到一個(gè)問題。在編碼不是UTF-8的時(shí)候,當(dāng)傳遞的參數(shù)里有中文的時(shí)候,服務(wù)端Request的時(shí)候都會(huì)出現(xiàn)亂碼。
本人最近也遇到了需要傳遞中文參數(shù)的問題。在網(wǎng)上搜索一下,復(fù)制粘貼發(fā)的到處都是的“終極”“解決方案”無非就是escape(str)來轉(zhuǎn)碼,然后在服務(wù)端還要寫個(gè)方法再編輯一次,或用System.Text.Encoding下的方法來換來換去。

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

JQuery與Prototype創(chuàng)建Ajax代碼比較
不同之處在于JQuery默認(rèn)的contentType:application/x-www-form-urlencoded
而Prototype則是contentType:application/x-www-form-urlencoded; charset=UTF-8
這才是JQuery正在亂碼的原因,在未指定字符集的時(shí)候,是使用ISO-8859-1
ISO8859-1,通常叫做Latin-1。Latin-1包括了書寫所有西方歐洲語言不可缺少的附加字符。
JQuery的Ajax根本沒有考慮到國(guó)際化的問題,使用了歐洲的字符集,所以才引起了傳遞中文出現(xiàn)亂碼的問題。
而我們的UTF-8則可以解決這一問題。
最終指需要修改JQuery的代碼,顯式聲明contentType使用utf-8字符集,即可解決GB2312中文傳遞的問題。
修改如圖:

修改JQuery代碼
只需要簡(jiǎn)單的將JQuery的代碼加以修改,加上charset=UTF-8就可以了,這樣不需要改變改什么web.config或什么在頁面中改編碼什么的了,也不需要用escapc(str)再在服務(wù)端解碼。英文怎么傳遞,中文也怎么傳遞。
給段簡(jiǎn)單的代碼測(cè)試一下:
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/javascript" 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>

相關(guān)文章

  • 基于jquery實(shí)現(xiàn)日歷簽到功能

    基于jquery實(shí)現(xiàn)日歷簽到功能

    這篇文章主要介紹了基于jquery實(shí)現(xiàn)日歷簽到功能,我們?cè)谕嬗螒虻臅r(shí)候或者登錄某手機(jī)軟件時(shí)都會(huì)有一個(gè)簽到功能,記錄大家的登錄日期,這個(gè)日歷簽到如何實(shí)現(xiàn)?本文為大家進(jìn)行揭曉。
    2015-11-11
  • jquery+css實(shí)現(xiàn)Tab欄切換的代碼實(shí)例

    jquery+css實(shí)現(xiàn)Tab欄切換的代碼實(shí)例

    這篇文章主要介紹了jquery css實(shí)現(xiàn)Tab欄切換,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 原生js和jquery實(shí)現(xiàn)圖片輪播淡入淡出效果

    原生js和jquery實(shí)現(xiàn)圖片輪播淡入淡出效果

    本文給大家分享的是使用原生的js和jQuery2種方法,分別實(shí)現(xiàn)圖片輪播的淡入淡出效果的代碼,非常實(shí)用,也方便小伙伴們對(duì)比分析,希望對(duì)大家學(xué)習(xí)js和jq能夠有所幫助。
    2015-04-04
  • jQuery驗(yàn)證插件validation使用指南

    jQuery驗(yàn)證插件validation使用指南

    jquery.validation.js在前端驗(yàn)證中使用起來非常方便,提供的功能基本上能滿足大部分驗(yàn)證需求,下面我們就來仔細(xì)研究下這款jQuery插件的具體使用方法。
    2015-04-04
  • jQuery實(shí)現(xiàn)點(diǎn)擊小圖顯示大圖代碼分享

    jQuery實(shí)現(xiàn)點(diǎn)擊小圖顯示大圖代碼分享

    這篇文章主要介紹了jQuery實(shí)現(xiàn)點(diǎn)擊小圖顯示大圖效果,功能實(shí)現(xiàn)非常簡(jiǎn)單,推薦給大家,有需要的小伙伴可以參考下。
    2015-08-08
  • jQuery設(shè)置指定網(wǎng)頁元素寬度和高度的方法

    jQuery設(shè)置指定網(wǎng)頁元素寬度和高度的方法

    這篇文章主要介紹了jQuery設(shè)置指定網(wǎng)頁元素寬度和高度的方法,涉及jQuery操作width及height方法的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • jQuery增加、刪除及修改select option的方法

    jQuery增加、刪除及修改select option的方法

    這篇文章主要介紹了jQuery增加、刪除及修改select option的方法,涉及jQuery針對(duì)form表單中select選項(xiàng)的常見操作技巧,需要的朋友可以參考下
    2016-08-08
  • 基于jQuery的表單填充實(shí)例

    基于jQuery的表單填充實(shí)例

    下面小編就為大家?guī)硪黄趈Query的表單填充實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • jQuery插件bgStretcher.js實(shí)現(xiàn)全屏背景特效

    jQuery插件bgStretcher.js實(shí)現(xiàn)全屏背景特效

    可以自動(dòng)動(dòng)態(tài)更換網(wǎng)頁背景圖片的jQuery插件bgstretcher.js,sharejs.com推薦的這個(gè)插件,可以自定義多種方式讓網(wǎng)頁背景自動(dòng)切換,效果流暢,非常難得,調(diào)用代碼也非常簡(jiǎn)單。
    2015-06-06
  • Jquery在IE7下無法使用 $.ajax解決方法

    Jquery在IE7下無法使用 $.ajax解決方法

    今天在做系統(tǒng)測(cè)試的時(shí)候,原本用Jquery寫了一個(gè)動(dòng)態(tài)加載的樹形菜單,發(fā)現(xiàn)在IE7下無法加載數(shù)據(jù),(采用的是jquery1.3.2版本的$.ajax方法),上網(wǎng)查詢到原來是IE7的執(zhí)行ajax是用XMLHTTPRequest來聲明的,經(jīng)過對(duì)比果然如此;后采用以下的方法隨即解決了問題。
    2009-11-11

最新評(píng)論

三台县| 九寨沟县| 龙胜| 泰州市| 库尔勒市| 顺义区| 沂南县| 荆门市| 黔江区| 杭州市| 卓资县| 讷河市| 宁化县| 阜康市| 吉木乃县| 铜川市| 霸州市| 上饶县| 湖北省| 望城县| 曲阜市| 五华县| 县级市| 文山县| 福贡县| 临海市| 沙洋县| 阜平县| 都兰县| 修文县| 建昌县| 玛纳斯县| 兴仁县| 丰镇市| 远安县| 彰武县| 吴忠市| 温州市| 积石山| 利辛县| 日喀则市|