nodejs一次渲染多个页面
我有一个contact
页面,可以把他们的contact details
和message
。 一旦他们把他们的信息,它被保存到mongodb collection
。 如果没有错误,我想清空联系表格,并显示一条popup消息,说谢谢。 现在,如果我使用
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"); } });
上面的代码只是呈现相同的contact page
,没有谢谢你的消息。 如果我尝试创build一个新的ejs
页面( 例如:thankyoupage ),并使用以下方式发送消息来呈现该页面:
res.render("thankyoupage",{message: "thankyou"});
它只会呈现新的谢谢页面,并保持联系页面不受影响。 所以我在这种情况下不会有联系页面。 我想要的东西,这是两个混合物,我会显示一个popup窗口显示在背景上的联系页面上的空字段感谢您的消息。无论如何,我可以做到这一点? 任何build议/帮助/例如将不胜感激。
在您的联系页面中,您可以插入首次加载页面时运行的脚本。 该脚本检查是否在页面中设置了某个Javascriptvariables。 如果设置了该variables,那么该脚本将popup一个感谢消息。 如果未设置JavaScriptvariables,那么该脚本将不执行任何操作。
然后,在服务器上,当你渲染页面时,你传递一个属性来告诉它为JavaScriptvariables插入什么。 这样你的渲染操作就可以控制页面是否会popup消息。
您可以根据需要将其设置为function丰富。 例如,您可以传递渲染,您希望页面显示的确切消息,模板可以将该消息放入页面中的脚本将显示的JavaScriptvariables中。
同样,popup窗口可以像你想要的一样丰富。 它可能是整个div占据整个页面,而页面的联系人部分暂时隐藏,或者您可以在常规联系页面上使用alert()
或prompt()
消息框。
- 如何仅使用ejs模板引擎呈现数据而无需在节点js中重新加载整个页面
- 如何在Node.js项目中包含css和js文件
- Express.js中的EJS – Express Helpers无法正常工作 – (app)处于require状态
- Angularjs从express.js的“public”文件夹的“views”文件夹中路由ejs静态文件
- 有没有办法将ejs文件的文件扩展名保存为.html?
- Ejs引擎与HTML不工作
- 如何用express和EJS正确“包含”一个使用node.js的EJS文件
- Nodejs / Express:错误:无法在视图目录中查找视图“错误”
- 样式表(CSS)不在我的Sails应用程序中加载