我有一个写在对象中的ajax请求,我需要编写一个取消这个特定请求的函数。我已经查看了中止方法,但不知道如何让它以这种方式工作。
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请求并取消它,是否可以从外部函数中获取?
答案 0 :(得分:1)
因为getItems正在返回XMLHttpRequest,所以它应该像
一样简单resp = items.getItems(params)
resp.abort()