在搜索框自动填充中删除多个外部API调用

时间:2014-07-19 13:13:22

标签: javascript jquery python ajax django

我正在开发一个用Python Django编写的应用程序。有一个页面包含一个接受用户输入文本的搜索框,当输入长度大于或等于2时,它会对外部API执行ajax调用。 例如,假如我键入'ka',它将使用参数'ka'对该API执行ajax调用,并返回带有该前缀的20个字符串。同样,如果我输入'kar',它将再次使用'kar'执行ajax调用,并返回前缀为'kar'的20个字符串。

如果我没有指定我想要的匹配数,我正在调用的API可以返回带有前缀的所有字符串。因此,我希望将第一个ajax调用的响应保存在某处,以便在连续按键时使用相同的前缀,不再对该外部API执行ajax调用。

1 个答案:

答案 0 :(得分:0)

我认为不可能开箱即用,但您可以使用http://api.jqueryui.com/autocomplete/#option-source轻松自行实现。

您可以提供自己的函数作为源,只有当它没有从之前的请求之一缓存响应时才会执行AJAX请求。