<script language=javascript runat=server>
xh=new ActiveXObject("Msxml2.ServerXMLHTTP.6.0");
……
while (xh.readyState != 4) {
xh.waitForResponse(1);
……
</script>
请问上面这段代码中,“.waitForResponse(1)”这是什么意思?为什么我在这句的前后输出“xh.readyState ”,结果就不一样了(前输出结果是1,后输出结果是4)?
请大侠帮忙解释一下。越具体越好!先谢过~
waitForResponse (1) 是等待到了什么响应?
我用当前这个AJAX访问的页面SQL要执行至少好几分钟,可为什么我浏览这个页面时没一秒钟结果就返回回来了?而且还是个4(执行完成)的状态.我看数据库,后面那个页面的SQL根本没执行啊
响应的页面SQL语句没问题,页面单独运行正常
追答if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
}
试试; 如果有你的完整代码就更容易检查了
我知道五种状态,我不明白的是,为什么我的SQL没执行,但状态却返回了执行完成
追答我觉得是你SQL判断运行的ASP页面代码有误的,你不防把参数直接在到ASP面页,运行ASP页面,看ASP页面的运行时输出的值是否是你想要的,是否判断正确的,使输出值正确
追问我已经将执行SQL的页面单独运行了一下,没有问题,所以才有现在这个疑惑的
追答把这句代码xh.waitForResponse(1);
换成ajax.responseText;
换后报错如下:
msxml6.dll 错误 '8000000a'
完成该操作所需的数据还不可使用。
ASP页面中,在服务器端运行的ajax中“.waitForResponse(1)” 是...
就是用来等待响应的 8. waitForResponse 在使用异步方式发送请求时,可以用这个方法来控制请求的进程。在服务端脚本中,不可以像客户端那样直接使用回调函数来控制异步请求,也没有相应的函数来使用程序休眠一定的时间,因此,为了等待请求返回,我们可以使用这个方法来等待一定时间。