我正在尝试跟踪数组中的ajax请求并在下一个请求开始之前取消任何现有请求,但我得到$(this).abort()函数不存在。有什么想法吗?
var ajaxPool = new Array();
$('.search_input').live('keyup', function() {
$.each(ajaxPool, function(){
$(this).abort();
});
var query = $('.search_input').val();
if (query == '' || query == ' ') {
$('.search_results').remove();
return false;
}
var request = $.ajax({ type: 'GET',
url: '{{ path('Search') }}/' + query,
beforeSend:function() {
},
success:function(data){
$('.search_results').remove();
$('.search_bar').append(data);
},
error:function(){
alert("Could not complete search.");
}
});
ajaxPool.push(request);
});
答案 0 :(得分:0)
当您使用ajaxPool
迭代$.each
数组时,this
已经是包含abort()
方法的jqXHR对象。所以你不应该尝试将它转换为$
的jQuery对象。使用此:
$.each(ajaxPool, function(){
this.abort();
});