我在 JS 中有这段代码,效果很好。
var values = new Bloodhound({
datumTokenizer: function(d) { return Bloodhound.tokenizers.whitespace(d.num); },
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: '/url/that/returns/json'
});
但是,由于我只需要一次,我将其更改为预取,如下所示:
var values = new Bloodhound({
datumTokenizer: function(d) { return Bloodhound.tokenizers.whitespace(d.num); },
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: {url: '/url/that/returns/json'}
});
这会在 typeahead.js 中导致错误(“TypeError: a is undefined”)。我需要更改什么才能使此功能正常工作?
编辑:如果我在浏览器中访问 URL,则返回的 json 是:
[{"name":"MyName","id":"100","code":"CODE"}]