我的一个网站需要调用另一个网站的API。
我计划在页面进行AJAX调用时显示“等待”弹出窗口,以指示服务器端代码进行API调用。
但是有可能需要一段时间。我正在寻找有关如何防止AJAX调用超时的建议。
当我谷歌这个问题时,我读过的大部分文章建议一次只发送一些项目。但就我而言,这一切都是在一个相当实质性的电话中完成的。
还有哪些其他选项可以阻止页面超时?
答案 0 :(得分:1)
如果您无法在数据包等中实现加载,那么超时可能是您的最佳选择。
$.ajax({
dataType: "json",
url: uriTrackers, // Your URL here.
//data: data, //we are not sending data, this is a different data to the one below
timeout: 10000 //10 second timeout or maybe 30 secs if debugging
})
.done(function (data) {
// Anything you want to do on success here.
})
.fail(function (jqXHR, textStatus, err) {
$('#TrackerInfo').text('Error: ' + err + uriTrackers);
});
答案 1 :(得分:-1)
根据评论,我得到了你需要在某个特定的时间间隔内保持服务器ping。
setInterval(function() {
$.ajax({url: "ping.txt",
success: function(result){
//Nothing to do, or your can check the content of your ping.txt
},
error : function(){
//Code to show your wait popup
}
});
}, 60000);
这将使您的连接保持活动,即您知道您是否已连接到服务器。
您需要在服务器上相应地放置ping.txt。