gpt4 book ai didi

javascript - 如何设置ajax超时?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:09:38 25 4
gpt4 key购买 nike

我有这段代码可以在 40 秒后使 ajax 调用超时:

if (xmlhttp) {
xmlhttp.open("GET", MY_SERVLET, true); xmlhttp.onreadystatechange = showResults;
xmlhttp.send(null);
var httpTimeOut=setTimeout("ajaxTimeout();",40000);
}

function ajaxTimeout() {
xmlhttp.abort();
document.getElementById('errorShow').innerHTML = "Request Timed out";
}

但是由于我所在的环境限制,我无法对此进行测试。谁能告诉我这是否正确或是否需要任何修改??

最佳答案

应该解决这个问题:

if (xmlhttp) {
xmlhttp.open("GET", MY_SERVLET, true);
xmlhttp.onreadystatechange = showResults;
xmlhttp.send(null);
setTimeout(function() { xmlhttp.abort() },40000);

由于 ajaxTimeout 函数无法“看到”xmlhttp 变量,但我们可以使用匿名函数来访问局部变量。

另一种方法是使用 jQuery.ajax所以图书馆会处理它。

您的代码如下所示:

$.ajax({
url: MY_SERVLET,
async: true,
timeout: 40000,
success: function(args) {
// on success code
}
})

关于javascript - 如何设置ajax超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7280093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com