首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

AJAX在post时候返回数据出现乱码,该怎么解决

2012-02-26 
AJAX在post时候返回数据出现乱码网上说直接在送出的流里加个HEADER,指明送出的是什么编码流,这样XMLHTTP就

AJAX在post时候返回数据出现乱码
网上说直接在送出的流里加个HEADER,指明送出的是什么编码流,这样XMLHTTP就不会出现乱码了,但是我的还是乱码。。。。
就是下面的代码:

<body   id= "aaa ">
</body>

<script   language= "javascript ">
try
{
xmlhttp   =   new   ActiveXObject( "Msxml2.XMLHTTP.3.0 ");
xmlhttp.open( "POST ",   "http://www.hzaic.gov.cn/EntStateQuery.do ",   false);
xmlhttp.setRequestHeader( 'Content-type ',   'application/x-www-form-urlencoded;charset=GB2312; ');
xmlhttp.send( "ename=杭州普惠科技有限公司 ");
aaa.innerHTML   =   xmlhttp.responseText;
}
catch(e)
{
aaa.innerHTML   =   "error   occurs: "   +   e.toString();
}
</script>

[解决办法]
服务器端取数:
String enname = request.getParameter( "enname ");
enname = new String( enname.getBytes( "ISO8859_1 "), "utf-8 " ) ;
[解决办法]
数据是UTF-8的,,你转换一下就可以了
在服务端
[解决办法]
对于需要传输中文或者特殊字符的
客户端请求时encode
服务器端接收时decode
[解决办法]
huo789(爱拼才会赢)解释的正确。

function encode(s) {
return encodeURIComponent(escape(s|| ' '));
}

function decode(s){
return unescape(unescape(s|| ' '));
}

热点排行