我有一个应用程序,我希望通过信件列出一群艺术家。例如,如果我输入字母" L" - 应用程序应该从我的数据库中返回所有艺术家的字母" L"。我对NodeJS很陌生,所以也许有人可以帮助我?
我的routes.js:
server.get('/i/artists/:letter', myartists.getArtistByLetter);
和我的artists.js:
exports.getArtistByLetter = function(req, res, next){
var where;
if(req.query == '0-9') // not sure about req.query, probably wrong???
{
where = ["formated_name RLIKE '^[0-9#]' AND artist_parent_id = 0 "];
}
else
{
where = ["formated_name LIKE '"+req.query+"%' AND artist_parent_id = 0"];
}
db.artist.findAll({
where: where,
attributes: ['artist_id', ['formated_name', 'name'], 'uuid', 'slug']
}, {raw: true})
.success(function(artist){
res.json({data: artist});
});
}
输入http://localhost:2100/i/artists/l
后,返回{"data":[]}
...
那么,有什么建议吗?感谢...
答案 0 :(得分:1)
要访问letter
参数,您必须写req.params.letter
而不是req.query
。
看一下how to hande a get request with nodejs的答案。
在此网址上:http://localhost:2100/i/artists/l
req.params.letter
的值为l
。