您的位置:首页 > 理论基础 > 计算机网络

javascript + asp xmlhttp 返回乱码

2009-11-02 10:48 232 查看
通过javascript创建的XMLHttp对象,向asp页面提交一个请求,接收的返回值可能会是乱码。

有一解决方式很简单,就是在asp返回值前加上 response.charset="gb2312".

完成代码如下:

html

<script language="javascript">

function createXMLHTTP()

{

var Try={

these: function()

{

var returnValue;

for (var i=0; i<arguments.length; i++)

{

var lambda=arguments[i];

try

{

returnValue=lambda();

break;

}catch(e) {}

}

return returnValue;

}

}

var xmlhttp=Try.these

(

function() { return new ActiveXObject('Msxml2.XMLHTTP')},

function() { return new ActiveXObject('Microsoft.XMLHTTP')},

function() { return new XMLHttpRequest()}

) || false;

return xmlhttp;

}

var xmlhttp=createXMLHTTP();

xmlhttp.onreadystatechange=function(){

if (xmlhttp.readyState==4)

{

if (xmlhttp.status==200)

{

document.getElementById("msg").innerHTML=xmlhttp.responseText;

}

}

}

xmlhttp.open("post","responseTest.asp",true);

xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');

xmlhttp.send(true);

</script>

<table border="0" cellspacing="0" cellpadding="0" width="500" align="center">

<tr align=center height="8">

<td id="msg"> </td>

</tr>

<tr align=center>

<td>测试 </td>

</tr>

</table>

responseTest.asp

<%

response.charset="gb2312"

Response.Write (" <font color=red> 结果完成 </font> ")

Response.End()

%>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐