【问题标题】:After http POST response, cannot set headers after they are sent to the clienthttp POST响应后,发送到客户端后无法设置标头
【发布时间】:2020-09-04 22:52:00
【问题描述】:

首先我为打字错误道歉,我是巴西人

我访问了下面的问题,但它并没有帮助我解决我的问题

ERR_HTTP_HEADERS_SENT: Cannot set headers after they are sent to the client

我有一个从路由localhost:4000/returnvalues 调用的方法 在第一次请求时,它按预期工作

但在下一个,它返回以下错误

_http_outgoing.js:526
throw new ERR_HTTP_HEADERS_SENT('set'); ^

Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client

我的代码

module.exports = app => {

const formidable = require('formidable')
const path = require('path')
const folder = path.join("C:/Users/Rafael/Desktop", 'files')
const fs = require('fs')
var form = new formidable.IncomingForm({
    uploadDir: folder,
    keepExtensions: true
})

const returnvalues = async (req, res) => {
    form.parse(req, (_, fields, files) => {
        app.api.readFile.readFiles(files.Teste.path).then(values => {
            res.status(200).send(values)
           })
       })
   }

  return { returnvalues }
}

我尝试使用失败

return res.status(200).send(values)

此方法返回一个从 Excel 电子表格中读取的对象

error from the server my code

【问题讨论】:

    标签: javascript node.js express fs formidable


    【解决方案1】:

    我遇到了和你一样的错误。 如果你把你的表单变量

    var form = new formidable.IncomingForm({
        uploadDir: folder,
        keepExtensions: true
    })
    

    在您的 returnvalues 函数中,它应该可以工作。

    【讨论】:

      猜你喜欢
      • 2020-01-28
      • 2021-09-11
      • 2018-05-25
      • 2021-06-27
      • 2021-06-18
      • 2020-11-14
      • 2020-09-05
      • 2019-02-06
      相关资源
      最近更新 更多