我正在寻找一个自动完成下拉框的解决方案,它需要从巨大的json加载条目(json文件也每秒都在更新/生成。)
我尝试了“typeahead.js”,但默认情况下它会在浏览器中缓存json文件,并且无法显示添加到json文件的新条目。
是否有自动完成文本框的解决方案,可以尽快从服务器加载条目?
请建议。 感谢
答案 0 :(得分:0)
在您的情况下,您可以利用Bloodhound,typeahead.js建议引擎。它提供了两种选择。预取和远程。
在Prefetch中,在初始化时获取并处理数据。如果浏览器支持本地存储,则处理后的数据将缓存在那里以防止后续页面加载时出现其他网络请求。
在Remote中,它会在您需要时从远程源获取数据。但请记住,为了防止向远程端点发出大量请求,请求会受到速率限制。
我认为你应该在你的情况下使用远程选项。
参考:Link
答案 1 :(得分:0)
typeahead.js
的文档中提到了两种方法你可以让TTL值= 1进行预取(这确实对我有效)
https://github.com/twitter/typeahead.js/blob/master/doc/bloodhound.md
或者您可以在点击页面加载或单击按钮时使用clearPrefetchCache。
category.clearPrefetchCache();