test.html 页面代码如下. 获取输入总是乱码 $(function(){
$("button").click(function(){
$("div").load("data.aspx",{Title:escape("标题是我666"),Body:escape("内容是我666")});
});
}); <button>点击获取数据 </button> <br/>
<div style="border:1px solid red;padding:20px;"> </div>
data.aspx 代码如下: if (Request.HttpMethod == "POST")
{
string title = Request.Form["Title"].Trim();
string body = Request.Form["Body"].Trim(); Response.Write("标题:" + title);
Response.Write(" <br/>");
Response.Write("内容:" + body);
Response.Write(" <br/>");
Response.End();
}
$("button").click(function(){
$("div").load("data.aspx",{Title:escape("标题是我666"),Body:escape("内容是我666")});
});
}); <button>点击获取数据 </button> <br/>
<div style="border:1px solid red;padding:20px;"> </div>
data.aspx 代码如下: if (Request.HttpMethod == "POST")
{
string title = Request.Form["Title"].Trim();
string body = Request.Form["Body"].Trim(); Response.Write("标题:" + title);
Response.Write(" <br/>");
Response.Write("内容:" + body);
Response.Write(" <br/>");
Response.End();
}
改成
encodeURI("标题是我666")试试
unescape()解码
{
if (str == null)
return String.Empty; StringBuilder sb = new StringBuilder();
int len = str.Length;
int i = 0;
while (i != len)
{
if (Uri.IsHexEncoding(str, i))
sb.Append(Uri.HexUnescape(str, ref i));
else
sb.Append(str[i++]);
} return sb.ToString();
}
jQuery ajax发送和接收http请求好象是utf8编码,你试试把asp.net应用程序中responseEncoding和RequestEncoding改为UTF-8试试,我一直用默认的UTF-8编码,没见过乱码的问题。===================================================
ASP.NET WebForm和ASP.NET MVC分页最终解决之道
$(function(){
$("button").click(function(){
$("div").load("data.aspx",{Title:"标题是我666",Body:"内容是我666"});
});
});
解决2://如果非要加上escape或者encodeURI的话,那么后台使用Server.UrlDecode处理
if (Request.HttpMethod == "POST")
{
string title = Server.UrlDecode(Request.Form["Title"].Trim());
string body = Server.UrlDecode(Request.Form["Body"].Trim()); Response.Write("标题:" + title);
Response.Write(" <br/>");
Response.Write("内容:" + body);
Response.Write(" <br/>");
Response.End();
}