【发布时间】:2023-04-10 14:03:01
【问题描述】:
我一直在对一个非常简单的应用程序进行故障排除,但无法评估为什么 POST 的请求正文未定义。我使用了 express.json() 和 body-parser 并将请求的 Content-Type 更改为不同的格式,但没有得到任何回报。
这是与问题相关的后端代码
const morgan = require("morgan");
const { response } = require("express");
const { format } = require("morgan");
const express = require("express");
const app = express();
const cors = require("cors");
app.use(express.static("build"));
app.use(cors());
app.use(express.json());
app.use(morgan("combined"));
app.post("/api/phonebook/", (req, res) => {
const body = req.body;
console.log(req.body);
console.log(body.content);
if (!body.name) {
return res.status(404).json({
error: "no name",
});
}
const personObj = {
name: body.name,
phone: body.phone,
id: generateId(),
};
phonebook = phonebook.concat(personObj);
response.json(personObj);
});
这是一个示例 POST
POST http://localhost:3000/api/phonebook/
Content-Type: application/json
{
"name": "Bob",
"phone": 123-456
}
服务器已启动并正在运行,并且执行 GET 和 DELETE 请求均有效。
【问题讨论】:
-
改用 req.json()
-
req.json() 应该去哪里?我不明白你的建议
标签: javascript node.js express