2013-12-17 32 views
0

代碼中使用預輸入:Twitter的Typeahead.js在節點JS不獲取建議

<script type="text/javascript"> 
    $('input.typeahead').typeahead({ 
    name: 'Artist', 
    prefetch:{url: '/queryjson, ttl: '1'}, 
    template: '<p><strong>{{firstname}}</strong>', 
    limit : 10, 
    engine: Hogan, 
    }); 
</script> 

守則App.js:

app.get('/queryjson', function(req,res,next){ 
    var firstname = req.body.firstname; 
    connection.query("select firstname from entries", 
    function (err, rows, fields) { 
    if (err) 
    throw err; 
    res.end(JSON.stringify({ 
     data : rows 
    })); 
    }); 
}) 

,最後是代號爲輸入HTML中的文本:

<input class="typeahead" type="text" placeholder="Artist" data-provide="typeahead"> 

注: 當我在地址欄中輸入/ queryjson,由數據庫生成的行可用,並以JSON格式({"data":[{"firstname":"sheila"},{"firstname":"Noreen"}...

但是,當我輸入文本中輸入一些東西,不建議生成。

對於可能出現的問題,你有什麼想法嗎?我真的很需要你的幫助。

或者您是否有任何建議在節點使用prefetch正確執行?

+0

你可以格式化你的代碼,因此它的可讀性更好。 – hgoebl

回答

0

你錯過了一個單引號!與來自'/queryjson',

APPART更換'/queryjson,,它看起來是正確的,http://jsfiddle.net/8GJh2/

編輯:我也注意到,您的JSON格式不同的是,they do not include的 '數據' 元素

queryjson:

[ 
    { "firstname": "sheila"}, 
    { "firstname":"Noreen"} 
] 

App.js

res.end(rows); 
+0

謝謝!但我仍然無法提出建議。當我輸入一些東西時,什麼也沒發生。它變得非常令人沮喪。 – user3094180

+0

編輯我的答案,你不需要'數據:'在你的json – roo2

+0

已經做過編輯了。 :)但我希望你會對我真的很耐心。甚至有可能在typeahead代碼中使用url'/ queryjson'?它似乎並不真正獲取行。因此,不會產生任何建議。 – user3094180