0

我是 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'});
    });
});
4

2 回答 2

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不返回任何内容。

于 2015-09-22T21:26:20.520 回答
0

当你调用它时:

console.log(data);

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

尝试使用这个:

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

查看一个 json 对象。

于 2015-09-24T14:43:57.517 回答