Node.js 节点错误:发送到客户端后无法设置标头

Node.js 节点错误:发送到客户端后无法设置标头,node.js,Node.js,我正在用mongoDB和node.js创建一个应用程序。在我的js文件中,在我闪现一条消息并重定向后,我得到错误“发送到客户端后无法设置头”: 我做错了什么?问题是您已经呈现了页面-您已经发送了响应。当您尝试重定向时,您正在发送另一个响应。但是每个请求只能发送一个响应。因此,您必须决定是要呈现页面(res.render(“regions/ashanti”,{success:“success”})),还是要重定向(res.redirect(/navashanti))) 编辑:用户询问是否可以同时执

我正在用mongoDB和node.js创建一个应用程序。在我的js文件中,在我闪现一条消息并重定向后,我得到错误“发送到客户端后无法设置头”:


我做错了什么?

问题是您已经呈现了页面-您已经发送了响应。当您尝试重定向时,您正在发送另一个响应。但是每个请求只能发送一个响应。因此,您必须决定是要呈现页面(
res.render(“regions/ashanti”,{success:“success”})
),还是要重定向(
res.redirect(/navashanti))

编辑:用户询问是否可以同时执行这两项操作,我建议这样做:


如果您必须同时执行这两项操作,则必须按照您编写的顺序,从该处理程序中删除
res.redirect(“/navashanti”)
,然后在处理
区域/ashanti的渲染的代码中,您必须添加重定向。

请随时用您更改的内容和不起作用的内容更新您的帖子。你提供的细节越多,别人帮助你的机会就越大:)它已经升级了,你仍然有一个渲染和一个又一个重定向。这将总是给你你发布的错误。请我仍然不明白关于我添加重定向到区域/ashanti路线的问题,因为我想要的是显示闪光测量信息,并在显示后重定向到/Navahanti我看到了。为什么添加此渲染:
res.render(“regions/ashanti”,{success:“success”})
?如果我了解你想要达到的目标,你就不需要了。

 app.get("/ashanti",function(req,res){
     res.render("regions/ashanti");
 })

 app.post("/ashanti",upload.single("pic"), function(req,res){
     const username=req.body.username;
     const inform=req.body.inform;
     const contact=req.body.contact;
     const region=req.body.region;
     const category=req.body.category;
     const city=req.body.city;
     const community=req.body.community;
     const pic=req.file.path;
     const whatsapp=req.body.whatsapp

     if(req.file){
        console.log(req.file);
     }

     const newuser = new user({
         username:username,
         contact:contact,
         inform:inform,
         region:region,
         category:category,
         community:community,
         city:city,
         pic:pic,
         whatsapp:whatsapp 
     })

     newuser.save().then(function(err,user){
         if(err) throw err
     })

     req.flash("success","post added")
     res.render("regions/ashanti",{success:"success"})
     res.redirect("/navashanti")   
 })