【问题标题】:load variables saved from a html form using an app.js in the next loading .html在下一次加载 .html 中使用 app.js 加载从 html 表单保存的变量
【发布时间】:2019-05-01 21:19:15
【问题描述】:

我正在扩展 Node.js 并将它们与 HTML 文件一起使用。

但是,我无法弄清楚以下内容。

我构建了一个form.html,其中可以收集firstNamelastName 等变量。填充了form,按下了底部,执行了一个带有action = "/signup"的app.js。

action 后跟以下 app.js,其中包含:

// Bodyparser Middleware
app.use(bodyParser.urlencoded({ extended: true }));

// Static folder
app.use(express.static(path.join(__dirname, 'public')));

//signup route
app.post('/signup', (req, res){
//Processes including storing data into mailchimp and mongodb
});

现在执行该过程后,将打开一个新的 HTML 文件,success.html

success.html 中,我希望创建一个自定义消息,其中包含从form.html 的先前进程中收集的一些变量。

<p>Sample text <h1><%= name %></h1> sample text</p>

我已经尝试过建议herehere 和其他选项的解决方案。我什至尝试更改为action = "file.php",然后使用不同的<form action=""> 执行两个.php 文件,但它不起作用。

【问题讨论】:

    标签: html node.js mongodb


    【解决方案1】:

    我可以看到您在 success.html 中使用了 EJS 表示法。在这种情况下,您只需 res.render 文件即可。

    您可以查看here 如何将 EJS 与 Express 一起使用。但是一旦您创建了success.ejs 文件(很可能在您的情况下更改扩展名就可以了)

    那么你就可以代替res.sendFile

    res.render('success', {
            name: firstName + " " + lastName
    });
    

    【讨论】:

    • 谢谢,我会去看看。但是,还有其他方法可以实现吗?我正在尝试执行 app.post('/signup', (req, res){}); 中的所有内容
    • 您将在 app.post('/signup', (req, res){... }); 内部执行此操作,而不是 res.sendres.json 您正在使用 res.render 这是渲染视图的标准方式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-23
    • 1970-01-01
    相关资源
    最近更新 更多