我正在发出搜索请求请考虑:
用户输入事件流的“过滤器 A”。 集合的 url 发生变化以表示过滤器 调用 collection.fetch 用户在“过滤器 A”的 xhr 返回之前快速输入“过滤器 B”以重置集合。 “Filter B”从服务器返回,“Filter B”自动调用collection.reset “过滤器 A”最终返回(在“过滤器 B”之后)并将集合重置为“过滤器 A”。 该应用程序现在处于错误状态。
如何中止之前的待处理请求。
self.collection = new searchCollection();
self.collection.fetch({
timeout : 60000,
type : 'POST',
data : {
"searchString" : searchKey
},
beforeSend : function(xhr) {},
success : function(result) {},
error : function(xhr, status, error) {}
});
最佳答案
维护一个变量来保存获取请求。
self.fetchXhr = self.collection.fetch();
在发出任何提取请求之前,请检查变量是否有有效且正在进行的请求。
if(self.fetchXhr != undefined && self.fetchXhr.readyState > 0 && self.fetchXhr.readyState < 4)
self.fetchXhr.abort();
关于jquery - 在发送主干集合中相同 url 的另一个请求之前中止所有事件请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20697678/