我遇到了一个问题,即自动完成搜索的Ajax请求无序返回(即某些请求被缓存并在之前的请求之前返回)。自动填充结果显示返回的最后结果,而不是最后一个搜索词的结果。
阅读自动填充更改日志和源代码,看起来似乎尝试取消旧的XHR请求,但它们似乎没有工作。
我正在使用jQuery 1.5.1和jQuery UI 1.8.10以及jquery.ui.autocomplete.html.js
autocomplete应该处理这种情况吗?或者我是否希望在我的应用程序代码中管理和中止以前的Ajax请求?
答案 0 :(得分:1)
您可以使用一些标志来控制您是否正在提出请求并中止旧请求,例如:
var running = undefined;
//on your autocomplete data source callback:
if (running) running.abort(); //abort previous requests
running = $.ajax({
... your ajax magic here
});