如何检测ajax请求上的php服务器超时
How to detect php server timeout on ajax request?
我想知道,假设您对运行PHP代码的页面进行了ajax请求。页面输出一些数据(使用flush()方法或其他方法),但由于30秒超时或其他错误,php请求结束。
现在当请求结束时,我想在客户端找到它并重新启动请求。
。假设我有这样的东西
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==3 && xmlhttp.status==200){
document.getElementById("A").innerHTML=xmlhttp.responseText;
}
else if(xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("A").innerHTML=xmlhttp.responseText;
//plus some additional code to end the process
}
else if(xmlhttp.status== SOMETHING /*WHAT DO I ADD HERE TO KNOW THAT THE SERVER HAS TIMED OUT OR SOMETHING SO I CAN RESTART THE XMLHTTP CYCLE */){
//code to resend xmlhttp request.
}
}
我使用的一个策略是在JS中设置一个计时器,然后在调用成功时清除它。
var myTimer = setTimeout(stuffToDoOnFailure, 6000); // 6 secs
ajaxCall(function callBack() {
clearTimeout(myTimer);
});
编辑:当然,如果ajax调用在6秒后成功,您可能会同时执行stuffToDoOnFailure
和callBack
,因此您希望以某种方式处理这种情况。不过这取决于你的应用。
相关文章:
- 通过ajax将坐标传递到php服务器端,并在处理后检索到javascript
- 如何使用Javascript将空数组发送到PHP服务器
- 将通过 AJAX 上传的二进制数据保存在 PHP 服务器上
- 无法处理 PHP 服务器中由 FormData 发送的数据
- Fetch Api无法从PHP服务器获取会话
- 如何在等待php客户端脚本的回复时终止php服务器脚本
- javascript客户端时间到php服务器时间
- PHP 服务器无法使用 ajax 接收 javascript 对象
- 与Node.js服务器和PHP服务器之间的差异之间的理论混淆
- 如何将文件从jQuery上传到php服务器
- php 服务器端计时器 独立于客户端浏览器
- XMLHttp请求将 XML 发送到 PHP 服务器
- 如何上传 XML 文件并发送到 PHP 服务器
- 推送器 PHP 服务器不工作
- 将文本区域的内容保存到文件并从PHP服务器页面加载
- 如何在我的本地主机 php 服务器上安装更少
- 脚本未将输入发布到PHP服务器脚本
- JavaScript-如何获取PHP服务器的正确时间
- ajax - 将数据作为 JSON 发送到 PHP 服务器并接收响应
- 从php服务器读取json