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

表单数据错误发送到客户端后无法设置标题

姬凡
2023-03-14

尝试将图像上传到Azure存储blob,但fetch方法不起作用。

它在postman中工作正常,但在获取时显示错误

在赫鲁库部署中没有问题

这个代码有什么问题

const uploadImage = async () => {
    try {
      const Data = new FormData();

      Data.append('file', image);

      console.log("form data", Data);

      await fetch('https://fame-azure.herokuapp.com/aa', {
        method: 'POST',
        body: Data
      })
    } catch (err) {
      console.log(err);
    }
app.post('/aa', upload.any(), function (req, res, next) {
  console.log(req.files)
  res.send('ok')
  res.status(200).send('Uploaded: ' + req.files)
})

共有2个答案

丁俊智
2023-03-14

这是因为在您的后端,您首先发送带有res.send('ok')的响应。之后,您将再次发送带有res.status(200). send('上传:'req.files)的响应,但是由于响应已经提交,因此您无法再次更新/发送它,因此出现了错误。如果您只是删除第一行,错误就会消失。

孔权
2023-03-14

这是因为您尝试发送两次响应。

app.post('/aa', upload.any(), function (req, res, next) {
  console.log(req.files)
  // res.send('ok') <-- remove this
  res.status(200).send('Uploaded: ' + req.files) // <-- use this
  res.json({uploaded: req.files}) // <-- or this, using json() method will set the response headers 200 automatically
})

如果你认为它在postman中看起来很好,是因为postman没有从你的服务器收到任何错误响应,这个错误只记录在你的服务器中。

 类似资料:
  • 问题内容: 我对Node.js相当陌生,遇到了一些问题。 我正在使用Node.js 4.10和Express 2.4.3。 当我尝试访问http://127.0.0.1:8888/auth/facebook时,我将重定向到http://127.0.0.1:8888/auth/facebook_callback。 然后,我收到以下错误: 以下是我的代码: 我可以知道我的代码有什么问题吗? 问题答案:

  • 问题内容: 我对Node.js相当陌生,遇到了一些问题。 我正在使用Node.js 4.10和Express 2.4.3。 当我尝试访问http://127.0.0.1:8888/auth/facebook时,我将重定向至http://127.0.0.1:8888/auth/facebook_callback。 然后,我收到以下错误: 以下是我的代码: 我可以知道我的代码有什么问题吗? 问题答案:

  • 所以我看到了一篇很棒的帖子“错误:发送到客户端后无法设置标题,但仍然不明白我的“标题”部分有什么问题,因为当我将它从注释掉的

  • 我正在关注一个关于udemy上的节点.js的课程,这有点过时了,遇到了这些错误,我无法找到解决方案。 我尝试了什么: 使用next(); 在所有if语句中添加返回res 有人能帮我修一下这些吗?我将不胜感激! 提前感谢! 用户名存在错误:错误 [ERR_HTTP_HEADERS_SENT]:在服务器响应.set 上将标头发送到客户端后无法设置标头 (_http_outgoing.js:526:11

  • 问题内容: 将标头发送到客户端后,无法设置标头。这是请求验证后的后端错误,看起来像标头问题。我为我的项目脏代码感到抱歉,我还需要做其他事情,因此在注释中有一些代码。这是我的代码 您可以在我的代码中发现其他错误,因为我尝试了许多不同的方法。这是passport.js配置文件 这是身份验证的ajax请求 非常感谢你。 问题答案: 这是由于您的代码试图从authenticate函数发送多个响应。 删除其

  • 将标头发送到客户端后,无法对其进行设置。这是我的身份验证post请求后的后端错误。看起来标题有问题。我很抱歉我的项目肮脏的代码,我需要做一些别的事情,所以有一些代码在评论中。这是我的代码 你可以在我的代码中找到其他错误,因为我尝试了许多不同的方法。以下是passport.js配置文件 这是用于身份验证的 ajax 请求 非常感谢。