用于TYPEAHEAD的代码:
<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"}...
)
但是当我在输入文本中输入内容时,不会生成任何建议。
您对可能出现的问题有什么想法吗?我真的非常需要你的帮助。
或者您对使用typeahead
在节点中正确实施prefetch
有任何建议吗?
答案 0 :(得分:0)
'/queryjson,
替换为'/queryjson',
从那开始,它看起来是正确的,http://jsfiddle.net/8GJh2/
编辑:我还注意到你的json格式不同,they do not include'data'元素
queryjson:
[
{ "firstname": "sheila"},
{ "firstname":"Noreen"}
]
App.js
res.end(rows);