我知道ajax调用的超时设置。但我想知道的是,如果ajax调用仍在处理但是花费的时间超过x秒,是否有办法向用户显示消息。
E.g。
在ajax通话期间,如果花费的时间超过10秒,则告诉用户,"通话时间超过预期"
答案 0 :(得分:0)
我说你最好的选择就是在显示通知之前使用window.setTimeout
一段时间,然后再向window.clearTimeout
添加success
行您$.ajax()
来电中的回电:
var loadingTimeout = window.setTimeout(function() {
// show your warning here
alert('Still loading :P');
}, 10000); // 10000ms = 10sec
$.ajax({
url: 'http://your/url/here',
dataType: 'json',
type: 'GET',
success: function(r) {
window.clearTimeout(loadingTimeout);
// your results logic here
}
})
答案 1 :(得分:-1)
当然,只需setTimeout()自己另一个函数来检查由ajax完成回调设置的一些全局变量。在该函数中,如果ajax调用仍未完成,则显示一条消息。