在我的应用程序中,我想在创建一个新选项之前取消之前由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");
});
}