检测AJAX请求

时间:2011-11-08 14:43:37

标签: ajax jquery

在我的网站上,鼠标悬停并在HTML表格上设置鼠标移除事件。这些事件会触发ajax请求,并执行某些操作等。但是,我希望能够在没有运行第二个请求的情况下触发第二个请求。那么,有没有检测到这些请求,因此避免一秒钟。顺便说一句,我使用jQuery $.ajax() 如果它有帮助的话。

提前致谢

克里斯

3 个答案:

答案 0 :(得分:0)

为此,假设我使用ajaxStart()ajaxStop()来更改特定变量ajaxRunning,可以在发送请求之前对其进行检查(可能直接在ajaxStart()?)

答案 1 :(得分:0)

当第一个ajax即将触发时,将全局或局部静态变量设置为true,而不是在触发第二个之前添加if;)比一个请求完成后,将此变量设置为false

答案 2 :(得分:0)

我会尝试一些简单的事情:

var requestMade = false;

function yourAjaxFunction(){
    if(!requestMade)
    {
        requestmade = true;
        $.ajax({
            url: "page",
            success: function(){
                requestMade = false;
            }
            error: function(){
                requestMade = false;
            }
        });
    }
}

您可以使用success:error:设置将变量更改回false。

我从未使用过error,因此您可能需要在其中加入其他一些内容,但这是一般性的想法。