我使用雅虎自動填充與遠程php數據庫請求和零時間延遲。問題是,有時舊查詢的結果會在最近的查詢之後回來。雅虎自動完成的結果有時會顯示舊的查詢
到目前爲止,例如,如果即時搜索初學者,有時如果該查詢花費最長時間從服務器返回,則'beg'的結果將覆蓋自動完成下拉菜單中最新的結果。
我試着放棄舊的查詢,但是這會減慢用戶體驗,因爲他們直到最後一次擊鍵纔得到服務器請求。
我想知道是否有方法來訂購返回的查詢?爲了確保從最近的查詢服務器的響應顯示
在此先感謝 大衛
對測序一些幫助任何機會呢?我的雅虎自動完成代碼目前如下,我想避免做取消陳舊請求。
<script type="text/javascript">
YAHOO.example.autocomplete = function() {
// instantiate remote data source
var oDS = new YAHOO.util.XHRDataSource("../employer/post-job/get_towns.php");
oDS.responseType = YAHOO.util.XHRDataSource.TYPE_XML;
oDS.responseSchema = {
resultNode: 't',
fields: ['n']
};
oDS.maxCacheEntries = 100;
// oDS.queryMatchSubset = true;
// oDS.connXhrMode = "cancelStaleRequests";
// instantiate YUI autocomplete widgets
var oAC0 = new YAHOO.widget.AutoComplete("input1", "inputcontainer", oDS);
oAC0.minQueryLength = 3;
oAC0.queryDelay = 0.05;
oAC0.maxResultsDisplayed = 10;
return {
oDS: oDS,
oAC0: oAC0
};
}();
</script>