繁体   English   中英

来自服务器的猫鼬响应是 ReadableStream

[英]Mongoose response from server is ReadableStream

我有一个从本地 MongoDB 获取数据的快速服务器。

获取似乎有效,我能够记录获取的数据:

app.get("/getTestData", async (req, res) => {
  const data = await ContentDataSchema.find();
  console.log(`Mongo data: ${data})`);
  res.json(data);
});

这会在服务器控制台上打印来自 DB 的正确数据,该数据应该是ContentDataSchema的对象数组。

但是,当尝试从客户端获取此数据时:

useEffect(() => {
    fetch("http://localhost:7007/getTestData")
      .then((response) => {
        console.log(`RESPONSE ${response.body}`)
        
      })
      .catch((error) => console.log(`SERVER ERROR ${error})`));
  }, []);

控制台输出是RESPONSE [object ReadableStream]如果我尝试记录 console.log( RESPONSE ${JSON.stringify(response.body)} ) 那么输出就是 {}。 使用 Postman,我可以看到调用同一端点的正确预期响应。

客户端的预期输出将是来自数据库的实际 json。

要读取 JSON 响应,您必须使用 response.json() 方法。 您可以参考有关 fetch 的MDN 文档以了解更多信息。

    fetch("http://localhost:7007/getTestData")
      .then(response => response.json())
      .then(data => console.log(data));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM