Javascript jquery ajax:在上一个请求被中止后,新请求不会启动
在我的应用程序中,我希望在进行新的ajax调用之前取消由select更改触发的先前ajax调用 它不起作用:如果上一个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') {
$('.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调用后,我无法发送另一个调用。它给了我错误信息。你的错误信息是什么?我没有消息。只需清空警报框。