我在我的页面上有多个javascript ajax请求。现在,在一个特定的ajax调用中(由onclick事件触发),我重复收到3条错误消息。在检查reuest.readyState时,我发现每次出现错误时,它已准备好状态分别为1,2和3,然后工作(显然,readyState = 4)。Ajax请求不工作3次,然后工作
这里是Ajax请求,我向服务器发送:
function fetch(parameter){
var myrequest=new ajaxRequest()
myrequest.onreadystatechange=function(){
if (myrequest.readyState==4){ //This property is not equal to "4" for 3 calls
if (myrequest.status==200 || window.location.href.indexOf("http")==-1){
// Code to be executed for successful call
}
}
else{
alert("Error in Request. Request State is: " + myrequest.readyState);
}
}
myrequest.open("GET", url, true)
myrequest.send(null)
}
在触发onclick事件,我得到的错误是:在请求
错误。请求状态为:1
请求错误。请求状态为:2
请求错误。请求状态是:3
请求的问题是什么?
没有问题。 Ajax请求会经历各种状态,这就是为什么您只需要第四个请求。在那个州,收到了答复。请参阅https://developer.mozilla.org/en/AJAX/Getting_Started#Step_2_.E2.80.93_Handling_the_server_response。只要删除'else'。 – 2012-07-29 14:59:04
@Felix King:是的,这是正确的,但我也有其他类似的请求,它们具有完全相似的结构(if-else循环),但没有传递给它们的参数。他们没有表现出这样的错误,为什么只有这样的表现呢?是由于onclick事件还是完全由于参数或其他原因? – 2012-07-29 15:06:14
我不知道你的其他代码,所以我不知道。 – 2012-07-29 15:07:32