取消对象内的 ajax 请求
Posted
技术标签:
【中文标题】取消对象内的 ajax 请求【英文标题】:Cancelling an ajax request within an object 【发布时间】: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 请求并取消它,这可能来自外部函数吗?
【问题讨论】:
【参考方案1】:因为 getItems 返回的是 XMLHttpRequest,所以它应该很简单
resp = items.getItems(params)
resp.abort()
【讨论】:
这对我来说不太好用,但我找到了一个在取消 ajax 请求之外的解决方法。感谢您的宝贵时间。以上是关于取消对象内的 ajax 请求的主要内容,如果未能解决你的问题,请参考以下文章