我有一个很大的问题。我想在node.js中使用Twitter Typeahead自动完成功能。
用户选择名称并从数据库(名称,地址,邮件)获取有关他的所有数据。
我试图传递对象(数据),但我得到“未定义”(屏幕1)。如果我传递(data.name)它没关系但是我无法访问其他值(地址,邮件..)
请给我一个提示如何连接这个,或者如何传递对象和在typeahead输入中获取名称?
<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));
});
});
});
答案 0 :(得分:0)
您需要声明一个名为data的数组。试试这个,
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));
});
});
});