Javascript jquery ajax:在上一个请求被中止后,新请求不会启动

Javascript jquery ajax:在上一个请求被中止后,新请求不会启动,javascript,jquery,ajax,abort,Javascript,Jquery,Ajax,Abort,在我的应用程序中,我希望在进行新的ajax调用之前取消由select更改触发的先前ajax调用 它不起作用:如果上一个ajax调用被中止,则新的调用不会启动。 如果没有先前的呼叫被中止,则可以正常工作 我的代码: $('.import-control').on('change', function(){ if (ajax && ajax.readyState !=4 && typeof ajax==='object') {

在我的应用程序中,我希望在进行新的ajax调用之前取消由select更改触发的先前ajax调用

它不起作用:如果上一个ajax调用被中止,则新的调用不会启动。 如果没有先前的呼叫被中止,则可以正常工作

我的代码:

    $('.import-control').on('change', function(){
        if (ajax && ajax.readyState !=4 && typeof ajax==='object') {
            ajax.abort();
        }


        ajax = getPlanningTasks(myroute);

    });

    function getPlanningTasks(route) {
        return $.ajax({
            url:   route,
            type:  'GET',
            cache: false,
            beforeSend: function () {
                $('#json_popup_loader').show();
                $('#tasks-container').html('');
            }
        }).done(function(data){
            $('#tasks-container').html(data);
            $('[name=appbundle_foodanalytics_task_collection] .collection table > thead > tr').show();
        }).always(function(){
            $('#json_popup_loader').hide();
        }).fail(function(jqXHR, textStatus, errorThrown){
            if (jqXHR.status === 0 || jqXHR.readyState === 0) {
                return;
            }
            $('#tasks-container').html("error");
        });
    }

控制台上是否显示任何错误??确实!我在其他地方有一个ajaxcomplete方法,将任何ajax响应解析为json。添加atry-catch以处理响应不是json格式的情况解决了这个问题。谢谢我也有同样的问题。在中止第一个ajax调用后,我无法发送另一个调用。它给了我错误信息。你的错误信息是什么?我没有消息。只需清空警报框。它是否在控制台上显示任何错误??确实!我在其他地方有一个ajaxcomplete方法,将任何ajax响应解析为json。添加atry-catch以处理响应不是json格式的情况解决了这个问题。谢谢我也有同样的问题。在中止第一个ajax调用后,我无法发送另一个调用。它给了我错误信息。你的错误信息是什么?我没有消息。只需清空警报框。