Ajax 调用:监视它是否需要很长时间

Ajax call: Monitor if it is taking long time

本文关键字:长时间 是否 调用 监视 Ajax      更新时间:2023-09-26

我正在使用基本的javascript调用向我的一个rails服务器发出ajax调用。

我想知道是否有办法监视正在进行的ajax调用,以便如果需要大量时间才能获得响应,我可以显示一条警报,说"请求花费大量时间。请稍候"

请帮忙。

谢谢

只需使用计时器,即可在通话完成后清除

var timer = null;
$.ajax({
    url  : 'someurl',
    data : {data: 'data'},
    onbeforesend : function() {
        timer = setTimeout(function() {
            alert('Request taking lot of time. Please wait')
        }, 2000);
    },
    timeout : 10000
}).always(function() {
    clearTimeout(timer);
});

如果花费的时间过长,timeout设置将中止呼叫。