停止当前的 getJSON 请求

Stop the current getJSON request

我有一个调用 getJSON 的函数。但是再次调用该函数时,getJSON 调用经常没有完成。

所以我想在发送新的之前停止之前的 getJSON 运行。

我尝试将我的 getJSON 调用保存在一个全局变量中,并在我的函数开头调用 abort(),但我遇到了一个错误

TypeError: vr is undefined

这是我的函数

var vr;

function getVol() {
    vr.abort();

    var data = {
        form : fields
    };

    vr = $.getJSON('getVol.php', data).done(function(r) {

        $.each( r, function( key, item ) {
            $.each( item, function( key, value ) {
                if(parseInt(value) > maxValue) maxValue = parseInt(value);
            });
        });

    }).fail(function() {
        console.log( "error" );
    });
}

感谢帮助

您收到错误消息是因为当您第一次调用该函数时,vr 为空。您需要先检查它是否已设置。

function getVol() {
    if (vr) {
        vr.abort();
    }
    // rest of function
}