【问题标题】:Typeahead remote object from node js来自节点 js 的预输入远程对象
【发布时间】:2015-09-29 12:00:38
【问题描述】:

我有一个很大的问题。我想在 node.js 中使用 Twitter Typeahead 自动完成功能。

用户选择姓名并从数据库中获取有关他的所有数据(姓名、地址、邮件)。

我试图传递对象(数据),但我得到“未定义”(屏幕 1)。如果我通过 (data.name) 没关系,但我无法访问其他值(地址、邮件..)

请给我一个提示如何连接它,或者如何传递对象并在预先输入的输入中获取名称?

<script type="text/javascript">   
    $(document).ready(function(){
        $('input.typeahead').typeahead({
            name: 'name',
            remote:{
                url:  "https://testtest.com/customers/wybierz/search?key=%QUERY",
            },      
            limit: 100
        }).on('typeahead:selected', function (event, selection) {
    $('.profile_add_new').show();
    $('#profil0').text(selection.name); 
    $('#profil1').text(selection.address);  
    $('#profil2').text(selection.email);    
    });   
    });
    </script>

node.js

app.get('/customers/wybierz/search', isLoggedIn, function(req, res) {
req.getConnection(function (err, connection) {
connection.query('SELECT * FROM pacjenci WHERE name LIKE "%'+req.query.key+'%"', function(err, rows, fields) {
          if (err)
              console.log("Error inserting : %s ",err );

            for(i=0;i<rows.length;i++)
                {
                 data.push(rows[i]);
                }    
            res.end(JSON.stringify(data));

        });           
    });
});

【问题讨论】:

  • 你用的是哪个版本?
  • @Amit typeahead.js 0.9.3
  • 那已经超过 2 年了,如果我没记错的话,API 已经发生了巨大的变化(例如,Bloodhound 的使用)。我建议你先更新你的库,迁移你的代码,然后再问你是否还有问题。
  • @Amit 但版本没有问题,我想弄清楚如何将对象传递给 typeahead
  • 很难帮助处理过时的代码。文档不存在,复制更难,相关信息更新......

标签: javascript node.js typeahead.js typeahead twitter-typeahead


【解决方案1】:

您需要声明一个称为数据的数组。试试这个,

app.get('/customers/wybierz/search', isLoggedIn, function(req, res) {
req.getConnection(function (err, connection) {
connection.query('SELECT * FROM pacjenci WHERE name LIKE "%'+req.query.key+'%"', function(err, rows, fields) {
      if (err)
          console.log("Error inserting : %s ",err );
        var data = [];
        for(i=0;i<rows.length;i++)
            {
             data.push(rows[i]);
            }    
        res.end(JSON.stringify(data));

    });           
  });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-16
    • 1970-01-01
    • 2021-01-01
    • 2019-10-31
    • 2018-09-03
    • 2016-11-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多