2011-05-04 86 views
1

我遇到了一個問題,即自動完成搜索的Ajax請求按順序返回(即某些請求被緩存並在先前請求之前返回)。自動填充結果顯示返回的最後結果,而不是最後一次搜索詞輸入的結果。jQuery UI自動完成的結果不按順序返回

讀取自動完成更改日誌和源代碼,它看起來像試圖取消舊的XHR請求在那裏,但他們似乎沒有工作。

我與jquery.ui.autocomplete.html.js

一起使用jQuery 1.5.1和jQuery UI 1.8.10是自動完成的假設來處理這種情況?或者我祈求在我的應用程序代碼中管理和中止以前的Ajax請求?

回答

1

你可以有一些標誌控制是否正在alreading提出請求並中止舊的,如:

 var running = undefined; 

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

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