我使用雅虎自动填充与远程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>