节点js中出现错误“错误:发送标头后无法设置标头。”

时间:2019-04-05 08:31:47

标签: javascript node.js

说“我可能在登录时或代码崩溃时在节点js中出现错误,即错误:发送标头后无法设置标头?”

err: Error: Can't set headers after they are sent.
      at validateHeader (_http_outgoing.js:491:11)
      at ServerResponse.setHeader (_http_outgoing.js:498:3)
      at basicAuthentication (/home/brainmobi/git/Abhijeet/Node/qarari_backend/lib/middleware/basicAuth.js:16:16)
      at Layer.handle [as handle_request] (/home/brainmobi/git/Abhijeet/Node/qarari_backend/node_modules/express/lib/router/layer.js:95:5)
      at trim_prefix (/home/brainmobi/git/Abhijeet/Node/qarari_backend/node_modules/express/lib/router/index.js:317:13)
      at /home/brainmobi/git/Abhijeet/Node/qarari_backend/node_modules/express/lib/router/index.js:284:7
      at Function.process_params (/home/brainmobi/git/Abhijeet/Node/qarari_backend/node_modules/express/lib/router/index.js:335:12)

1 个答案:

答案 0 :(得分:1)

在Node.js和几乎所有服务器语言中,在已经以单个响应的形式将某些标头发送到客户端之后,您无法设置另一个标头。

例如,此用例将不起作用

app.get('/', (err, res) => {
res.send('Hello!'); // This will send a response to the client, along with the appropriate headers.

res.send('How are you?!'); // This will throw the same error as you are getting before a response along with some headers are already sent
}) 
相关问题