Node js POST 请求错误 Errorcode: 'ERR_HTTP_HEADERS_SENT' 当我用邮递员发送请求时
Node js POST Request error Errorcode: 'ERR_HTTP_HEADERS_SENT' when I send my request with postman
我不明白为什么创建对象的请求不再有效。我使用 mysql 和 sequelize 创建模型。
我为每个请求填写用户令牌,进行连接,检索他的个人资料,从数据库中检索所有文章并且它有效,但现在我无法创建更多文章。
我执行了 console.log(req.body) 我的功能,但我有这个:{}。我的函数给了我第一个 condition.When 的 400 错误我发送了我的请求,在 VSC 上我有“代码:'ERR_HTTP_HEADERS_SENT'”。
我检查了应该匹配续集模式的字符数,很好。我填了postman, title, description 和userId这3个字段。
//*******Creating an article*******//
exports.createArticle = (req, res, next) => {
//Nous allons renvoyer 2 paramêtre //
const title = req.body.title;
const description = req.body.description;
console.log(req.body);
// Fields must not be empty before sending //
if (title == null || description == null) {
res.status(400).json({ message: "content can not empty" });
}
console.log(req.body);
//***Build the request body****/
const article = Article.build({
title: req.body.title,
description: req.body.description,
userId: req.userId,
});
console.log(article);
//***Save new article***//
article
.save()
.then(() => res.status(201).json({ article }))
.catch((error) => res.status(400).json({ error }));
};
即使在返回 { message: "content can not empty" }
之后,如果您没有提供标题或描述,您的代码仍在继续执行并发送另一个响应。
请按照以下代码修改您的代码
exports.createArticle = (req, res, next) => {
//Nous allons renvoyer 2 paramêtre //
const title = req.body.title;
const description = req.body.description;
console.log(req.body);
// Fields must not be empty before sending //
if (title == null || description == null) {
res.status(400).json({ message: "content can not empty" });
return;
}
console.log(req.body);
//***Build the request body****/
const article = Article.build({
title: req.body.title,
description: req.body.description,
userId: req.userId,
});
console.log(article);
//***Save new article***//
article
.save()
.then(() => res.status(201).json({ article }))
.catch((error) => res.status(400).json({ error }));
};
我不明白为什么创建对象的请求不再有效。我使用 mysql 和 sequelize 创建模型。
我为每个请求填写用户令牌,进行连接,检索他的个人资料,从数据库中检索所有文章并且它有效,但现在我无法创建更多文章。
我执行了 console.log(req.body) 我的功能,但我有这个:{}。我的函数给了我第一个 condition.When 的 400 错误我发送了我的请求,在 VSC 上我有“代码:'ERR_HTTP_HEADERS_SENT'”。
我检查了应该匹配续集模式的字符数,很好。我填了postman, title, description 和userId这3个字段。
//*******Creating an article*******//
exports.createArticle = (req, res, next) => {
//Nous allons renvoyer 2 paramêtre //
const title = req.body.title;
const description = req.body.description;
console.log(req.body);
// Fields must not be empty before sending //
if (title == null || description == null) {
res.status(400).json({ message: "content can not empty" });
}
console.log(req.body);
//***Build the request body****/
const article = Article.build({
title: req.body.title,
description: req.body.description,
userId: req.userId,
});
console.log(article);
//***Save new article***//
article
.save()
.then(() => res.status(201).json({ article }))
.catch((error) => res.status(400).json({ error }));
};
即使在返回 { message: "content can not empty" }
之后,如果您没有提供标题或描述,您的代码仍在继续执行并发送另一个响应。
请按照以下代码修改您的代码
exports.createArticle = (req, res, next) => {
//Nous allons renvoyer 2 paramêtre //
const title = req.body.title;
const description = req.body.description;
console.log(req.body);
// Fields must not be empty before sending //
if (title == null || description == null) {
res.status(400).json({ message: "content can not empty" });
return;
}
console.log(req.body);
//***Build the request body****/
const article = Article.build({
title: req.body.title,
description: req.body.description,
userId: req.userId,
});
console.log(article);
//***Save new article***//
article
.save()
.then(() => res.status(201).json({ article }))
.catch((error) => res.status(400).json({ error }));
};