停止当前的getJSON请求

时间:2016-07-01 22:45:23

标签: jquery json ajax getjson

我有一个调用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" );
    });
}

感谢您的帮助

1 个答案:

答案 0 :(得分:5)

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

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