我正在尝试使用node-lastfmapi track.search方法。我能够获得结果,但我不确定如何使用 Angular 在前端显示它们。我正在使用mongoDB作为数据库,并为用户想要选择并想要保存的特定搜索结果创建了一个架构。但在此之前,用户需要查看搜索结果。那么如何显示通过 Express 从第三方 API 查询的这些结果.js ?
这是我到目前为止编写的代码
app.post('/api/shows', function(req, res, next) {
var trackName = req.body.trackName; //search bar which gets trackName user enters
lfm.track.search({
'track' : trackName
}, function (err, track) {
if(!track.album.title)
{
return res.send(404, { message: req.body.trackName + ' was not found.' });
}
});
我创建了简单的代码片段用于在lastfmapi中进行搜索,并在Express中将结果作为json发送。
var LastfmAPI = require('lastfmapi');
var express = require('express');
var app = express();
var port = process.env.PORT || 8080;
var bodyParser = require('body-parser')
var lfm = new LastfmAPI({
//you keys here
});
app.use(bodyParser.urlencoded({ extended: false }));
app.post('/api/shows', function(req, res, next) {
var trackName = req.body.trackName;
console.log('get req');
lfm.track.search({ 'track' : trackName }, function (err, track) {
res.json(track);
});
});
console.log('Start listen! on port: ' + port);
app.listen(port);
如果您想在 MongoDb 中保存来自 lfm api 响应的一些结果,请创建您自己的猫鼬模型并在我的代码段中使用它们。
我也知道你为什么在你的问题中添加 AngularJs。无论如何,您不能使用$resource https://docs.angularjs.org/api/ngResource/service/$resource 从前端应用程序中的 Resful API 获取数据。