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

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

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

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

不同之處在于JQuery默認(rèn)的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/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)文章

最新評論

开平市| 石渠县| 云林县| 安丘市| 张家口市| 郁南县| 建水县| 女性| 张家港市| 台山市| 增城市| 社旗县| 开江县| 信宜市| 剑川县| 宁夏| 高安市| 黄平县| 平利县| 衡阳市| 四川省| 西和县| 忻城县| 鄂尔多斯市| 柳河县| 福海县| 雷州市| 天门市| 抚州市| 永胜县| 泰安市| 铜川市| 莱阳市| 大关县| 大同县| 德庆县| 清新县| 云南省| 乌拉特中旗| 都江堰市| 新乐市|