【问题标题】:Node.js displaying data using node-rest-client from ApiNode.js 使用来自 Api 的 node-rest-client 显示数据
【发布时间】:2021-07-29 23:47:14
【问题描述】:

我是 Node.js 的新手,遇到了一些小问题。我的 api 正在返回 JSon,但我无法在数据或响应中看到 JSon。

router.get('/search/:id', function(req, res){client.get("http://localhost:3000/api/search/5600678e1c76b4680e0d6544", function(data, response){
         
        console.log(data);
        console.log(response);

res.render('test', {test: data,  user : req.user , title : 'Home'});
    });
});

【问题讨论】:

  • 能否添加数据和响应的控制台输出是什么?
  • 另外,请注明client 是什么。
  • @AnotherDev 看起来这是客户端:npmjs.com/package/node-rest-client
  • 是的,我正在使用 node-rest-client

标签: javascript node.js node-rest-client


【解决方案1】:

编辑:我在这里理解你的错误,另一种方法是使用 npm 模块request

var request = require('request');

router.get('/search/:id', function(req, res) {
  request('http://localhost:3000/api/search/5600678e1c76b4680e0d6544', function(error, response, body) {
    if (!error && response.statusCode == 200) {
      console.log(body)
      var data = body;
      res.render('test', {
        test: data,
        user: req.user,
        title: 'Home'
      });
    } else {
      res.end('Error: ' + error);
    }
  });
});

如果这不起作用,则错误可能在localhost:3000 上没有返回任何内容。

【讨论】:

  • 根据 /search/:id 的请求,我想从 /api/search/:id 中提取数据并显示。
【解决方案2】:

当你调用它时:

console.log(data);

“数据”是一个 json 格式的对象。

尝试使用这个:

console.log(JSON.parse(data));

查看 json 对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-18
    • 2016-06-16
    • 2015-07-18
    • 2020-08-19
    • 1970-01-01
    相关资源
    最近更新 更多