如何将这些JSON对象返回到浏览器而不是控制台

时间:2018-10-22 02:57:35

标签: node.js express

我正在/ hello中接收并显示一些JSON对象,如下所示:

app.get('/hello' , (req, res) => {
  client
    .search('leather couch')
    .then((listings) => {
      // filtered listings (by price)
      console.log("got here");
      listings.forEach((listing) =>  console.log(listing));

    })
    .catch((err) => {
      console.error(err);
    });
});

而不是console.loging每个列表,而是试图在浏览器中返回这些json对象!

我尝试查找它,但似乎找不到正确的措辞。

3 个答案:

答案 0 :(得分:0)

您可以像这样发送成功的JSON响应-

  

res.json({yourKey : yourValue});

其中res是您随请求接收的响应对象。有关更多详细信息,请参阅此expressjs文档。

答案 1 :(得分:0)

您可以使用响应对象将其发送到浏览器。

有几种方法,

  • res.send(jsonObject);
  • res.json(jsonObject);
  • res.status(statusCode).json(jsonObject); 看看api reference

所以您的方法可以

app.get('/hello' , (req, res) => {
  client
    .search('leather couch')
    .then((listings) => {
      // filtered listings (by price)
      return res.status(200).json(listing);
    })
    .catch((err) => {
      console.error(err);
    });
});

在这里,获取数据库结果后,我们将其发送给客户端,而不是显示在控制台中。

答案 2 :(得分:0)

您可以使用res.send()返回

app.get('/hello' , (req, res) => {
   client
   .search('leather couch')
   .then((listings) => {
       res.send({ list: listings });
   })
   .catch((err) => {
       console.error(err);
   });
});