Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在JSON对象上加速Twitter引导的Typeahead_Jquery_Twitter Bootstrap_Autocomplete - Fatal编程技术网

Jquery 在JSON对象上加速Twitter引导的Typeahead

Jquery 在JSON对象上加速Twitter引导的Typeahead,jquery,twitter-bootstrap,autocomplete,Jquery,Twitter Bootstrap,Autocomplete,所以,我正在使用Twitter引导的Typeahead启动一个字典web应用程序。dictionary对象是5000个条目。根据我目前的代码 $('#dictionary').typeahead({source: function(query, process){ $.getJSON('dictionary.json', function(data){ dict = data; var words = _.keys(dict); proc

所以,我正在使用Twitter引导的Typeahead启动一个字典web应用程序。dictionary对象是5000个条目。根据我目前的代码

$('#dictionary').typeahead({source: function(query, process){

    $.getJSON('dictionary.json', function(data){
        dict = data;
        var words = _.keys(dict);
        process(words);
    });

}, minLength: 2});
每次访问typeahead元素字典时,我都会执行get。当条目进入搜索框时,这会使查询速度非常快,但会使typeahead的运行速度太慢,因为获取dictionary.json 1+MB并解析它需要花费很长时间

显然,这一策略是错误的

以下是我的想法: 1.将get放入预加载变量中,并在加载dictionary.json后接受加载的页面。 2.使用dictionary.json中的键值创建一个单独的数组,并通过get预加载这个数组,这样会更小更快

我可以接受负载需要更长时间。我同意搜索需要更长时间。但是,从UI的角度来看,让typeahead中的自动完成花费很长时间是不可行的。显然,google等公司的大孩子们有一个诀窍:google不需要太长时间就可以预加载,而且在autocomplete运行的过程中,搜索速度一直很快

那么,你们觉得我的上述想法怎么样? 你还有其他建议吗


非常感谢您的帮助。

也许可以让您的后端脚本处理输入查询并返回较短的数据列表

通过引导传递查询输入,服务器代码可以根据迄今为止收到的输入返回一个较短的列表