当前位置: 首页 > 知识库问答 >
问题:

当我发送请求POST时,错误代码:“ERR_HTTP_HEADERS_SENT”[重复]

宦高岑
2023-03-14

我不明白为什么创建对象的请求不再有效。我用mysql和sequelize创建模型。

我为每个请求填写用户的令牌,进行连接,检索他的个人资料,从数据库中检索所有文章,它工作了,但现在我不能再创建任何文章。

我做了控制台.log(req.body)我的函数,但我有这个:{}。我的函数从我的第一个条件给了我一个400错误。当我发送请求时,在VSC上,我有“ 代码:'ERR_HTTP_HEADERS_SENT'”。

我检查了应该与续集模式匹配的字符数,很好。我填写了邮递员、标题、描述和用户ID三个字段。

//*******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 }));
};

共有1个答案

魏景龙
2023-03-14

即使在返回{message:“contentcannotempty”}之后,如果没有提供标题或描述,代码仍会继续执行并发送另一个响应。请按照以下代码修改您的代码

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 }));
};
 类似资料:
  • 我试图访问accounts.google.com,从使用HTTP post请求接收的授权代码中获取令牌。 请求: 下面是我正在使用的文档:在web服务器收到授权代码后,它可以将授权代码交换为访问令牌和刷新令牌。此请求是一个HTTPs post,包括以下参数: 字段描述代码从初始请求返回的授权代码client_id在应用程序注册过程中获得的client_secret在应用程序注册过程中获得的客户端秘

  • 我正在构建一个简单的API来测试数据库。当我使用get请求时,一切正常,但如果我更改为post,我会收到“不可处理实体”错误: 以下是FastAPI代码: 然后,我使用javascript的请求 也使用Python 我还尝试解析为 json,使用 utf-8 进行解析,并更改标头。没有什么对我有用。

  • 我正在我的项目中进行登录,我正在使用Alamofire请求(swift 2.0),我总是遇到无法解决的错误。 错误域=NSURLErrorDomain代码=-999“已取消”用户信息=。。。{NSErrorFailingURLKey=…,NSLocalizedDescription=已取消,NSErrorFailingURLStringKey=…} 这是我的密码: 当用户按下按钮时,我在Login

  • 请求方式: "|3|2|url,content|\r" 参数: url 设置Post请求的url链接 content post请求的数据 返回值: "|3|code|data|\r" 参数: code http请求返回的成功或者错误码 成功:code = 200 获取数据失败:code = -1 http请求字段错误:code = 1 data http请求返回的数据 Arduino样例: sof

  • 我正在尝试使用ajax发送post请求,但始终出现以下错误: XMLHttpRequest无法加载http://192.168.1.123:8080。对预检请求的响应无法通过权限改造检查:请求的资源上不存在“访问控制允许源”标头。因此不允许访问源“http://localhost:8080”。 这是我的代码