[英]Express POST request body is undefined
我一直在对一个非常简单的应用程序进行故障排除,但无法评估为什么 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 请求都可以工作。
POST http://localhost:3000/api/phonebook/
Content-Type: application/json
{
"name": "Bob",
"phone": 123-456
}
在请求参数正文中, 123-456
不是数字,所以它应该有“”为“123-456”。 因为 123-456 类型是 null 所以参数未定义。 在服务器上需要将搅拌后的数字解析为 integer。
回调函数中的响应参数应该正确使用。 回调 function 结束时的response.json
应编辑为res.json
作为回调 ZC1C425268E (res, req)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.