Node中的Twitter Typeahead.js没有获取建议

时间:2013-12-17 05:52:39

标签: ajax json node.js twitter-typeahead

用于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有任何建议吗?

1 个答案:

答案 0 :(得分:0)

你错过了单引号!将'/queryjson,替换为'/queryjson',

从那开始,它看起来是正确的,http://jsfiddle.net/8GJh2/

编辑:我还注意到你的json格式不同,they do not include'data'元素

queryjson:

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

App.js

res.end(rows);