【问题标题】:Get search results from Last.fm API using Node and Angular使用 Node 和 Angular 从 Last.fm API 获取搜索结果
【发布时间】:2015-09-05 14:16:50
【问题描述】:

我正在尝试使用node-lastfmapi track.search 方法。我能够得到结果,但我不确定如何使用 Angular 在前端显示它们。我正在将 mongoDB 用于数据库,并为用户想要选择并想要保存的特定搜索结果创建了一个模式。但在此之前,用户需要查看搜索结果。那么如何显示 Express.js 从 3rd 方 API 查询的这些结果呢?

这是我目前写的代码

 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.' });

}
    });

【问题讨论】:

    标签: javascript angularjs node.js mongodb api


    【解决方案1】:

    我创建了简单的代码 sn-p 用于在 lastfmapi 中进行搜索,并将结果作为 json 在 Express 中发送。

    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 响应的一些结果,请创建您自己的 mongoose 模型并在我的 sn-p 中使用它们。

    我也知道你为什么在你的问题中添加 AngularJs。无论如何,您不能使用 $resource https://docs.angularjs.org/api/ngResource/service/$resource 从前端应用程序中的 resful api 获取数据。

    【讨论】:

    • 最后一行不清楚。我可以使用 $resource 吗?因为最终我需要这些搜索结果出现在页面上,用户应该选择需要保存的结果。这就是 Angular 的原因,因为它应该能够检索搜索结果并显示它们
    • @thetechfreak,您只需要了解客户端服务器架构。尝试使用 jquery 之类的基本功能来实现,而不是使用 angular 等更抽象的东西。
    • @thetechfreak,您只需要 3 种方法即可使用 api。 1. (GET) 通过查询找到lastfm中的所有曲目。 2. (POST) 将喜欢的曲目保存到数据库。 3. (GET) 获取所有喜欢的曲目。
    猜你喜欢
    • 2019-09-10
    • 2016-07-31
    • 1970-01-01
    • 1970-01-01
    • 2021-04-10
    • 1970-01-01
    • 2020-10-01
    • 2016-08-17
    • 2012-02-25
    相关资源
    最近更新 更多