如何停止通过$ .get发送的jquery ajax请求?

一旦用户在输入框中键入一个字符,我想使用$ .get制作一个ajax请求我想中止之前的ajax调用然后再创建一个新的,有办法吗?

编辑

解决了!

我刚刚发现$ .get是$ .ajax的简写方式,因此它返回一个XHR,因此我们可以在该变量上调用abort。

您可以在$.get返回的XMLHttpRequest上使用.abort()

 var req = $.get('ajax/test.html', function(data) { $('.result').html(data); alert('Load was performed.'); }); //Abort request req.abort() 

来自jQuery.ajax()文档:

$ .ajax()函数返回它创建的XMLHttpRequest对象。 通常,jQuery在内部处理此对象的创建,但是可以使用xhr选项指定用于制造该对象的自定义函数。 通常可以丢弃返回的对象,但确实提供了用于观察和操作请求的低级接口。 特别是,在对象上调用.abort()将在请求完成之前暂停该请求。

有关.abort()更多信息: XMLHttpRequest.abort()

还有jQuery插件AjaxQueue用于处理并行发出的多个Ajax请求。