Autocomplete 自动完成一个字段,设计用于服务器端可扩展性
当处理表单字段的自动完成功能时,用户键入的每个字符都会触发api调用以获取建议,您如何代理此调用以进行缩放Autocomplete 自动完成一个字段,设计用于服务器端可扩展性,autocomplete,Autocomplete,当处理表单字段的自动完成功能时,用户键入的每个字符都会触发api调用以获取建议,您如何代理此调用以进行缩放 由于跨域限制,直接从java脚本是不可能的,并且不安全,因为这将公开api密钥 将其移动到控制器或模型时,将向服务器端引发大量查询,当活动用户群达到一定限制时,这些查询将给他们带来沉重负担 这种功能的标准行业惯例是什么 不确定“代理此呼叫”是什么意思,但一般来说: 您可以使用JSONP进行跨域查询。但你要为客户支付绩效罚款 可以查询同一个域。由于主题非常笼统,所以没有单一的答案。扩展方
- 由于跨域限制,直接从java脚本是不可能的,并且不安全,因为这将公开api密钥
- 将其移动到控制器或模型时,将向服务器端引发大量查询,当活动用户群达到一定限制时,这些查询将给他们带来沉重负担李>
不要过早地担心优化,因为您可能永远不会达到这一点。如果你遇到了一个很好的问题,在这种情况下,解决方案是微不足道的。你需要在客户端和服务器上非常聪明。 到处使用大量缓存以避免额外的工作。使用CORS或JSONP。坦率地说,这是一项艰巨的工作。不说Lucene/SOLR是一个不具备自动完成功能的引擎。
顺便说一句:请访问www.rockitsearch.com。它具有实现自动完成所有基本功能。您需要做的只是:在那里注册并导出数据。然后在您的网站上集成您的小部件。我指的是代理,javascript向controller发送查询,然后controller向第三方服务发送API调用。我们将首先研究Jsonp解决方案。非常感谢。