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