【问题标题】:jQuery UI autocomplete results returned out of orderjQuery UI 自动完成结果乱序返回
【发布时间】:2011-05-04 16:27:54
【问题描述】:

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

阅读自动完成更改日志和源代码,似乎有取消旧 XHR 请求的尝试,但它们似乎不起作用。

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

自动完成功能应该处理这种情况吗?还是应该在我的应用程序代码中管理和中止以前的 Ajax 请求?

【问题讨论】:

    标签: jquery-ui jquery-ui-autocomplete


    【解决方案1】:

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

            var running = undefined;
    
            //on your autocomplete data source callback:
            if (running) running.abort(); //abort previous requests
    
            running = $.ajax({
                ... your ajax magic here
            });
    

    【讨论】:

      猜你喜欢
      • 2013-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-22
      • 2015-01-28
      • 2015-08-09
      • 2011-10-12
      • 1970-01-01
      相关资源
      最近更新 更多