Javascript NodeJ一次呈现多个页面
我有一个Javascript NodeJ一次呈现多个页面,javascript,node.js,mongodb,express,ejs,Javascript,Node.js,Mongodb,Express,Ejs,我有一个联系人页面,人们可以在其中放置他们的联系人详细信息和消息。一旦他们输入了自己的信息,就会将其保存到mongodb集合中。如果没有错误,我希望清空联系人表单并显示一条弹出消息,说声谢谢。现在如果我使用 app.post("/contact", function(req, res){ var name = req.body.name; var email = req.body.email; var phone = req.body.phone; var
联系人
页面,人们可以在其中放置他们的联系人详细信息
和消息
。一旦他们输入了自己的信息,就会将其保存到mongodb集合中
。如果没有错误,我希望清空联系人表单并显示一条弹出消息,说声谢谢。现在如果我使用
app.post("/contact", function(req, res){
var name = req.body.name;
var email = req.body.email;
var phone = req.body.phone;
var message = req.body.mess;
var contact_message = new Contact({name:name,email:email,phn_no:phone,message:message});
contact_message.save(function (err) {
if (err) {
return err;
}
else {
console.log("Contact details saved");
res.render("contact");
}
});
上面的代码只是返回相同的联系人页面
,没有任何感谢信息。如果我尝试创建一个新的ejs
页面(例如:thankyoupage),并通过使用以下命令发送消息来呈现该页面:
res.render("thankyoupage",{message: "thankyou"});
它将只呈现新的thankyou页面,而保持联系人页面不受影响。所以在这种情况下我没有联系人页面。我想要的东西是两者的混合,我会显示一个弹出窗口,在后台的联系人页面上显示一个空字段,显示感谢信息。我是否可以这样做?如果您有任何建议/帮助/示例,我们将不胜感激。在您的联系人页面中,您可以插入在页面首次加载时运行的脚本。该脚本检查页面中是否设置了某个Javascript变量。如果设置了该变量,那么脚本将弹出一条感谢消息。如果未设置Javascript变量,则该脚本不会执行任何操作 然后,在服务器上,呈现页面时,向模板传递一个属性,该属性告诉模板要为Javascript变量插入什么。这样,渲染操作可以控制页面是否弹出消息 您可以根据需要使其功能丰富。例如,您可以传递呈现、希望页面也显示的确切消息,模板可以将该消息放入页面中脚本将显示的Javascript变量中
同样,弹出窗口可以是您想要的内容。它可能是一个完整的div占据了整个页面,而页面的联系人部分暂时隐藏,或者您可以在常规联系人页面上使用一个
alert()
或prompt()
消息框,如果我试图从渲染器发送内容到,我会遇到各种各样的错误javascript@scrpaingnoob-您必须展示您的模板和您尝试过的内容,以便我们知道您做错了什么或如何帮助您修复。我想我是按照您所说的方式得到的,谢谢您的建议