我似乎无法在我的服务器上显示正文数据。我实际上是想在 post/put/fetch 调用中得到这个,但为了解决这个问题,我把它归结为一个简单的 .get,但它仍然不会出现。谁能看出为什么身体没有显示在服务器上?由于这个原因,我无法在更复杂的调用中完成任何事情(比如获取 req 的主体,但现在坚持这个简单的例子。)
这段代码完全正常工作并发送数据,只是似乎无法访问服务器上的正文。
服务器.js
const express = require('express');
const app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.json());
const port = process.env.PORT || 8000;
const Cat = require('./Cat');
const Dog = require('./Dog');
app.route('/animals')
.get(function (req, res) {
console.log(req.body, 'req.body log'); //this returns {}
res.send({ Cat, Dog });
})
app.listen(port, () => console.log(`Listening on port ${port}`));
在react中,如果我调用下面的callApi()
函数,console.log在前端显示body数据就好了,页面上可以使用这些数据。
客户电话
callApi = async () => {
const response = await fetch('/animals');
const body = await response.json();
console.log(body) //shows all the data just fine!
if (response.status !== 200) throw Error(body.message);
return body;
};
使用节点 9 并表达 4。