![](/img/trans.png)
[英]How to cancel the http request after 2 minutes in Javascript form submit?
[英]Possible HTTP Request states after form submit
我正在尝试提交表单并使用AJAX获取结果页内。 我调用JS函数onsubmit进行AJAX调用,并包含以下代码:
request=new XMLHttpRequest();
/* set up request here */
request.onreadystatechange=function() {
if (request.readyState == 4 && request.status == 200) {
/* do what I need */
alert('Success');
} else {
/* do what I need */
alert('Failed');
}
}
但是,“失败”警报在“成功”警报之前显示了多次(至少3次),所以我想我在“成功”警报之前有许多不同的状态? 如何检查提交的内容以及提交失败后的预期结果? 谢谢。
您只会得到一种状态,但是会得到多种状态 。
检查一下readyState
是4
还是0
(因为这些状态中的任何一个都表明没有更多的等待响应)。
如果为0
则抛出错误;如果为4
,则测试status
。
如果readyState
是其他任何值,则将其忽略(除非您想在其他状态下进行操作)。
该请求分为四个阶段。 readyStates。 每次readystate更新时,都会触发该事件。 0
表示失败, 4
表示请求已完成。 status
返回http代码。 200
表示成功。 有一个答案,它返回了一个请求正文 。 所有其他代码都表明服务器端出了点问题。 例如。 404、403或500。您可以放心地忽略其他readystates
。 但是捕获除200以外的任何状态为失败。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.