http POST响应后,发送到客户端后无法设置标头
Posted
技术标签:
【中文标题】http POST响应后,发送到客户端后无法设置标头【英文标题】:After http POST response, cannot set headers after they are sent to the client 【发布时间】: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
【问题讨论】:
【参考方案1】:我遇到了和你一样的错误。 如果你把你的表单变量
var form = new formidable.IncomingForm(
uploadDir: folder,
keepExtensions: true
)
在您的 returnvalues
函数中,它应该可以工作。
【讨论】:
以上是关于http POST响应后,发送到客户端后无法设置标头的主要内容,如果未能解决你的问题,请参考以下文章
Express: [ERR_HTTP_HEADERS_SENT]: 发送到客户端后无法设置标头
NodeJS "发送到客户端 NodeJS 后无法设置标头"