【问题标题】:Cancelling an ajax request within an object取消对象内的 ajax 请求
【发布时间】:2016-02-05 11:56:08
【问题描述】:

我有一个写在对象中的 ajax 请求,我需要编写一个函数来取消这个特定的请求。我查看了 abort 方法,但不知道如何让它以这种方式工作。

getItems: function(categoryID, format, numberOfResults, types, sortBy, searchString){
    var url = host+"getItems?categoryID="+categoryID+"&format="+format+"&numberOfResults="+numberOfResults+"&types="+types+"&sortBy="+sortBy+'&fileName='+searchString;
    return $.ajax({
        type:"get",
        dataType:"html",
        url: url,
        success:function(data){
            resItems = data;
        },
        error: function(data){
            console.log(data);
        }
    });
},

我遇到的问题是当调用某些元素时会调用此函数,如果用户快速连续单击两个元素,我需要在发起下一个请求之前取消此请求。

该页面有多个 ajax 请求,所以我不能一概取消,但需要专门取消这个。

对象的结构是这样的:

var items: {
    getItems: function(){
    },
    getItemInfo: function(){
    }
}

等等。

我想做的是根据其请求 URL 定位一个 ajax 请求并取消它,这可能来自外部函数吗?

【问题讨论】:

    标签: jquery ajax abort


    【解决方案1】:

    因为 getItems 返回的是 XMLHttpRequest,所以它应该很简单

    resp = items.getItems(params)
    resp.abort()
    

    【讨论】:

    • 这对我来说不太好用,但我找到了一个在取消 ajax 请求之外的解决方法。感谢您的宝贵时间。
    猜你喜欢
    • 2022-10-24
    • 1970-01-01
    • 2013-10-02
    • 2012-01-10
    • 2019-08-08
    • 1970-01-01
    • 1970-01-01
    • 2016-04-17
    • 2013-08-26
    相关资源
    最近更新 更多