正如标题所说,我想中止之前的 ajax 请求。每当用户输入字母(或数字)时,组合框通过 ajax 请求它请求数据,就像我通过 ajax 所说的那样,然后将数据返回给组合框。
我的问题是,每当我在字段中输入用户输入时,ajax 请求就会堆积起来。
我想要做的是首先中止先前的请求,然后继续执行当前请求。我试过这段代码:
comboObj.onTypeAhead = Ext.Function.createInterceptor(comboObj.onTypeAhead, function() {
Ext.Ajax.abort(); //aborts the last Ajax request
return true; //runs the onTypeAhead function
});
那没用,然后尝试了这个:
......
listeners: {
beforequery: function(evt){
Ext.Ajax.abortAll(); //cancel any previous requests
return true;
}
}
这对我也不起作用,因为我有一个也使用 ajax 请求的计时器,如果执行了侦听器,它也会被取消。
我该怎么做呢?