【发布时间】:2010-11-12 10:50:37
【问题描述】:
只要用户在输入框中键入字符,我就会使用 $.get 发出 ajax 请求 我想中止以前的 ajax 调用,然后进行新的调用,有什么办法吗?
编辑
解决了!
我刚刚发现 $.get 是 $.ajax 的简写方式,因此它返回一个 XHR,因此我们可以在该变量上调用 abort。
【问题讨论】:
标签: jquery ajax javascript
只要用户在输入框中键入字符,我就会使用 $.get 发出 ajax 请求 我想中止以前的 ajax 调用,然后进行新的调用,有什么办法吗?
编辑
解决了!
我刚刚发现 $.get 是 $.ajax 的简写方式,因此它返回一个 XHR,因此我们可以在该变量上调用 abort。
【问题讨论】:
标签: jquery ajax javascript
您可以在 $.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 请求。
【讨论】: