jQuery UI自动完成结果无序返回

时间:2011-05-04 16:27:55

标签: jquery-ui jquery-ui-autocomplete

我遇到了一个问题,即自动完成搜索的Ajax请求无序返回(即某些请求被缓存并在之前的请求之前返回)。自动填充结果显示返回的最后结果,而不是最后一个搜索词的结果。

阅读自动填充更改日志和源代码,看起来似乎尝试取消旧的XHR请求,但它们似乎没有工作。

我正在使用jQuery 1.5.1和jQuery UI 1.8.10以及jquery.ui.autocomplete.html.js

autocomplete应该处理这种情况吗?或者我是否希望在我的应用程序代码中管理和中止以前的Ajax请求?

1 个答案:

答案 0 :(得分:1)

您可以使用一些标志来控制您是否正在提出请求并中止旧请求,例如:

        var running = undefined;

        //on your autocomplete data source callback:
        if (running) running.abort(); //abort previous requests

        running = $.ajax({
            ... your ajax magic here
        });