Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript NodeJ一次呈现多个页面_Javascript_Node.js_Mongodb_Express_Ejs - Fatal编程技术网

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-您必须展示您的模板和您尝试过的内容,以便我们知道您做错了什么或如何帮助您修复。我想我是按照您所说的方式得到的,谢谢您的建议