【问题标题】:how to stop jquery ajax request sent via $.get?如何停止通过 $.get 发送的 jquery ajax 请求?
【发布时间】:2010-11-12 10:50:37
【问题描述】:

只要用户在输入框中键入字符,我就会使用 $.get 发出 ajax 请求 我想中止以前的 ajax 调用,然后进行新的调用,有什么办法吗?

编辑

解决了!

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

【问题讨论】:

标签: jquery ajax javascript


【解决方案1】:

您可以在 $.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 请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-30
    • 1970-01-01
    • 2018-06-21
    • 2016-04-05
    • 1970-01-01
    相关资源
    最近更新 更多