ASP.NET中AJAX乱码解决方法

作者:袖梨 2022-06-25

ajax乱码是一个程序员经常会碰到的问题,今天我们要讲的是关于asp教程.net中ajax乱码解决方法哦,下面先详细的介绍了处理方法,然后再举例说明

利用asp.net教程

string s = system.text.encoding.utf8.getstring(request.binaryread(request.contentlength));
system.collections.specialized.namevaluecollection form = httputility.parsequerystring(s);

text_supplier.text = form[text_supplier.uniqueid];
// order.remark = text_supplier.text;


利用 escape

liststr="ajax中文乱码的简单解决方法"
sponse.write escape(liststr) '用escape编码
%>

2、客户端网页特效程序
function toserver(url)

{
var req = new xmlhttprequest();
if (req) {
req.onreadystatechange = function() {
if (req.readystate == 4 )
{
if(req.status == 200 || req.status == 304) {
getstr=unescape(req.responsetext) '用unescape解码
alert(getstr);
}
else
{return false;}
}
}
req.open('get', url);
req.setrequestheader('content-type', 'application/x-www-form-urlencoded; charset=utf-8');
req.send(null);
}

}


总结上面的实例,现在来看一个详细的asp.net ajax乱码处理方法

var url=service.aspx?value=' + escape(va);
obj=createajax();
if(obj)
{
obj.open('get',url,true);
obj.send(null);
}

asp.net的escape函数

private string escape(string s)
{
stringbuilder sb = new stringbuilder();
byte[] ba = system.text.encoding.unicode.getbytes(s);
for (int i = 0; i { /**///// be sure 2's
sb.append("%u");
sb.append(ba[i + 1].tostring("x2"));
sb.append(ba[i].tostring("x2"));
}
return sb.tostring();

}

asp.net处理页面

response.contenttype = "text/html";
response.charset = "gb2312";
response.clear();
response.write(escape(返回的字符串));


注:

ajax默认发送的编码是uft-8的模式。

相关文章

精彩推荐