Bootstrap Typeahead不显示缓存的结果

时间:2013-11-05 21:37:49

标签: jquery asp.net-mvc-4 twitter-bootstrap-3 bootstrap-typeahead

我正在使用此脚本:https://github.com/bassjobsen/Bootstrap-3-Typeahead  在Bootstrap 3中使用Bootstrap Typehead,它的工作性能很好。但是,我想使用本地客户端缓存,以便重复请求不会到达服务。 控制台日志显示从缓存和服务返回相同的数组,但是当我从缓存返回json数组时,文本框下面没有得到显示结果的预先输入列表。但是每次服务被点击时它仍然有效。

        var cache = {};

$('#Name').typeahead({
    minLength: 4,
    source: function (term, process) {
        var url = "/Search/GetNames";
        var cacheHandle = $('#Name').val().toLowerCase();
        if (typeof (cache[cacheHandle]) != "undefined") {
            console.log(cache[cacheHandle]);
            return process(cache[cacheHandle]);
        } else {
            $.ajax({
                dataType: "json",
                cache: true,
                url: url,
                data: { term: term },
                success: function (data) {
                    cache[cacheHandle] = data;
                    console.log(data);
                    return process(data);
                }
            });
        }
    }
});

0 个答案:

没有答案