2013-07-04 29 views
0

我正在使用twitter的typeahead.js。當我使用remote來獲取json時,它顯示json的前5個字符串,而不管我在文本框中輸入的字符。typeahead沒有列出與遠程選項匹配的字符串

下面是配置

$("#search").typeahead({ 
    name: 'categories', 
    cache: false, 
    remote: 'http://localhost:3000/api/v1/charts/sales/categories?chart_token=atoken', 
    valueKey: 'name' 
}); 

以下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"}] 

上面的網址返回。如果我使用local以上JSON而不是remote它完美的作品。

任何想法我在這裏失蹤?

+0

什麼內容類型爲由服務器返回typeahead請求?它應該是'application/json'。 – krasnoperov

+0

我已驗證。它只是json。 –

+0

您是否看到網址的網址?而且由於它是開源的,你可以自己調試(使用非最小版本)並查看出了什麼問題。 –

回答

1

通過指定prefetch而不是remote來修正問題。所以下面的配置工作

$("#search").typeahead({ 
    name: 'categories', 
    cache: false, 
    prefetch: 'http://localhost:3000/api/v1/charts/sales/categories?chart_token=atoken', 
    valueKey: 'name' 
}); 

prefetch - 預取數據,並將其存儲在localStorage的

remote - 當預取的數據是不夠的,預輸入使用此源獲得更多的數據,建議