Javascript Ajax请求3次不起作用,然后起作用
我的页面上有多个javascript ajax请求。现在,在一个特定的ajax调用(由onclick事件触发)中,我得到了3条背靠背的错误消息。在检查reuest.readyState时,我发现每次出现错误时,它的就绪状态分别为1、2和3,然后它就工作了(readyState=4) 下面是我向服务器发送的ajax请求:Javascript Ajax请求3次不起作用,然后起作用,javascript,ajax,javascript-events,Javascript,Ajax,Javascript Events,我的页面上有多个javascript ajax请求。现在,在一个特定的ajax调用(由onclick事件触发)中,我得到了3条背靠背的错误消息。在检查reuest.readyState时,我发现每次出现错误时,它的就绪状态分别为1、2和3,然后它就工作了(readyState=4) 下面是我向服务器发送的ajax请求: function fetch(parameter){ var myrequest=new ajaxRequest() myrequest.onreadystatechange=f
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
请求可能有什么问题?这些是XMLHTTPRequest(ajax)状态,其中:
1=>加载
2=>已加载
3=>交互式
4=>准备好了吗
第4步,ajax请求被视为已完成,可以访问返回的数据
您应该放弃
else
条件。没有问题。Ajax请求会经历各种状态,这就是为什么您只寻找第四种状态。在该状态下,收到了响应。看见只需删除else
@Felix King:是的,这是正确的,但我还有其他类似的请求,它们具有完全相似的结构(if-else循环),但没有传递给它们的参数。他们没有表现出这样的错误,为什么只有这一个表现出这样的行为?这完全是由于onclick事件还是由于参数或任何其他原因造成的?我不知道您的其他代码,因此我无法确定。是的,这是正确的,但我也有其他类似的请求,它们具有完全相似的结构(if-else循环),但没有传递给它们的参数。他们没有表现出这样的错误,为什么只有这一个表现出这样的行为?这完全是由于onclick事件、参数或任何其他原因造成的吗