typeahead 0.11.1 遥控器不显示返回的数据

typeahead 0.11.1 remote does not showing returned data

我正在使用我的 MVC 应用程序实现最新版本的 typeahead。情况是,我得到了 json 结果,很好并且经过验证。

在 typeahead 的 return 部分,我发出了一个警告,我可以看到所有 returned 的结果都在那里。但是当涉及到显示时,什么也没有显示。控制台中也没有错误消息。 XHR 完全没问题。

老实说,我不知道为什么会这样?你能给我一些想法吗..提前致谢

使用的 Typeahead 版本:0.11.1

以下是我的代码..

<div class="tt-container">
    <input  id="customer" name="customer" type="text" value="" class="form-control" required />
</div>

提前声明

var customers = new Bloodhound({
                datumTokenizer: function (d) { return Bloodhound.tokenizers.whitespace(d.value); },
                queryTokenizer: Bloodhound.tokenizers.whitespace,
                remote: {
                    url: '/api/customer?query=%QUERY',
                    wildcard: '%QUERY',
                    filter: function(customers) {
                        //debugger;
                        return $.map(customers,function(user) {
                            //debugger;
                            alert(user.customerName);
                            return {
                                value: user.customerName
                            };
                        });
                    }
                },
                ajax: {
                    type: "GET",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    beforeSend: function(jqXhr, settings) {
                        var authHeaders;
                        // pull apart jqXHR, set authHeaders to what it should be
                        //debugger;
                        jqXhr.setRequestHeader('Access-Control-Allow-Origin', '*');
                    }
                }
            });

            customers.initialize();

            $('#customer').typeahead({
                    minLength: 3,
                    highlight: true
                },
                {
                    name: 'customers',
                    displayKey: 'value',
                    source: customers.ttAdapter()
                });

我深入研究了这个问题,发现 typeahead 几乎没有未解决的问题,这就是其中之一。所以我决定使用 jquery 自动完成功能,它具有预先输入的所有功能。