XMLHTTP的一个问题
test.aspx:
<head runat= "server ">
<title> 无标题页 </title>
</head>
<body>
<form id= "form1 " runat= "server ">
<div id= "texts ">
<asp:Button ID= "Button1 " runat= "server " Text= "Button " OnClick= "Button1_Click " />
</div>
</form>
<script>
function send()
{
var objxml= new ActiveXObject( "Microsoft.XMLHTTP ");
objxml.open( "get ", "test2.aspx ");
objxml.send();
alert(objxml.responseText)
objxml.abort();
}
send();
</script>
</body>
</html>
网页第一次运行时IE脚本显示错误:完成该操作所需的数据还不可以使用
如果刷新一下,数据就读出来了
该怎么解决
------解决方案--------------------因为你的处理涵数根本没写对..
试下objxml.send(null);
------解决方案--------------------var objxml= new ActiveXObject( "Microsoft.XMLHTTP ");
objxml.onreadystatechange = function()
{
if(objxml.readyState == 4)
{
if(objxml.status == 200 || objxml.status == 0)
{
alert(objxml.responseText);
}
}
}
objxml.open( "get ", "test2.aspx ");
objxml.send();
------解决方案--------------------你得指定是同步还是异步
如果是同步,就能照你的方式,send之后,会等待response,其间不能干别的
如果是异步,send之后,要等objxml.onreadystatechange 这个事件回来,readyState == 4才表示已经完全返回了。在等待返回之前,你可以做别的操作