jQuery .ajax或.post消息太长

时间:2014-05-16 01:43:03

标签: javascript jquery

我知道ajax调用的超时设置。但我想知道的是,如果ajax调用仍在处理但是花费的时间超过x秒,是否有办法向用户显示消息。

E.g。

在ajax通话期间,如果花费的时间超过10秒,则告诉用户,"通话时间超过预期"

2 个答案:

答案 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调用仍未完成,则显示一条消息。