$(document).ready(function() {
// once page loads, make AJAX request to get your autocomplete list and apply to HTML
$.ajax({ url: '/path-to-get-tags-as-json.php',
type: "GET",
contentType: "application/json",
success: function(tags) {
$( "#tags" ).autocomplete({
source: tags
});
}
});
});
将 PHP 文件的 URL 放在上面的 AJAX 占位符 url 参数中生成自动完成列表。在 PHP 代码中,修改列表生成,使其返回 JSON 值数组,如下所示:
[ "first" , "second" , "anotherEntry" , "in" , "the" , "array" ]
这会绝对不会加速服务器端的进程, 但它will保护您的用户在应用自动完成列表时不会出现一些延迟。这很大程度上假设用户不会立即执行需要自动完成的操作,您仍然可以加载页面并允许用户执行其他操作。自动完成列表的加载在大多数情况下应该显得安静且无缝。
这对于少于几秒到几秒的加载时间来说非常有用,但如果您花费的时间比这更长,那么您的用户仍然可能会遇到可用性问题。
如果仍然存在服务器端延迟,请考虑使用一些计时语句来尝试确定瓶颈所在。