Twitter bootstrap typeahead不';t列出与远程选项匹配的字符串

Twitter bootstrap typeahead不';t列出与远程选项匹配的字符串,twitter-bootstrap,typeahead.js,Twitter Bootstrap,Typeahead.js,我正在使用twitter的。当我使用remote获取json时,它显示json的前5个字符串,与我在文本框中键入的字符无关 这里是配置 $("#search").typeahead({ name: 'categories', cache: false, remote: 'http://localhost:3000/api/v1/charts/sales/categories?chart_token=atoken', valueKey: 'name' }); 上面

我正在使用twitter的。当我使用remote获取json时,它显示json的前5个字符串,与我在文本框中键入的字符无关

这里是配置

$("#search").typeahead({
    name: 'categories',
    cache: false,
    remote: 'http://localhost:3000/api/v1/charts/sales/categories?chart_token=atoken',
    valueKey: 'name'
});
上面的url返回以下json

[{"id":"22","name":"PC"},{"id":"185","name":"XBOX 360"},{"id":"31","name":"Keräilykortti"},{"id":"34","name":"Manga + Kirjat"},{"id":"3","name":"DVD-elokuvat"},{"id":"202","name":"Wii"},{"id":"552","name":"Wii U"},{"id":"431","name":"Laitteet"},{"id":"535","name":"Nintendo 3DS"},{"id":"167","name":"Nintendo DS"},{"id":"206","name":"PlayStation 3"},{"id":"172","name":"PSP"},{"id":"26","name":"PlayStation 2"},{"id":"532","name":"PS Vita"},{"id":"25","name":"Xbox"},{"id":"241","name":"BLU-RAY-elokuvat"},{"id":"178","name":"Erikoistuotteet"},{"id":"30","name":"Games Workshop"},{"id":"328","name":"Flames of War"},{"id":"513","name":"Muut miniatyyripelit"},{"id":"32","name":"Roolipelit"},{"id":"33","name":"Lautapelit"}]
如果我对上面的json使用
local
,而不是
remote
,那么它工作得非常好


知道我在这里缺少什么吗?

通过指定
预回迁
而不是
远程
解决了这个问题。所以下面的配置是有效的

$("#search").typeahead({
    name: 'categories',
    cache: false,
    prefetch: 'http://localhost:3000/api/v1/charts/sales/categories?chart_token=atoken',
    valueKey: 'name'
});
预取
-预取数据并将其存储在本地存储器中


remote
-当预取数据不足时,typeahead使用此源获取更多建议数据

服务器为typeahead请求返回的内容类型是什么?应该是“application/json”,我已经验证过了。它仅是json。您看到对url的网络调用了吗?由于它是开源的,您可以自己调试它(使用未统一的版本),并查看出了什么问题。