在输入更改时获取 JSON 文件仅一次

get JSON file on input change only once

我的后端有一个 JSON 文件,其中包含在搜索中自动完成的建议词。

我不希望 JSON 每次加载页面时都加载(为了性能),我只希望在有人想要使用搜索时加载。

对于自动完成,我使用的是 bootstrat3-typeahead (https://github.com/bassjobsen/Bootstrap-3-Typeahead)

这是加载 json 的脚本:

    var searchSuggest = "http://localhost/searchSuggest.json";
    $.get(searchSuggest, function(data){
        $("#input-search").typeahead({
             source:data, 
             autoSelect: false, 
             afterSelect: function(){
                 // local function the commits the search
                 search($("#input-search"))
             } 
    });

我正在考虑在输入更改事件时加载 JSON,但我怎样才能只加载一次?

您可以使用 $.one 让事件处理程序在输入更改时只执行一次:http://api.jquery.com/one/