如何将变量从一个ejs传递到节点js中的另一个ejs

时间:2018-11-20 10:23:51

标签: node.js express body-parser

我的views文件夹中有两个ejs 我创建了非常简单的ejs,以查看是否可以将变量从一个ejs发送到另一个ejs。

veiws文件中的a.ejs

<form name="input" action="\home" method="post">
      <input type='checkbox' checked>Cheese
    <input type="submit" value="Submit" href="validation.ejs">
    </form>

b.ejs具有

<h1><% post my variable here%></h1>

在我的节点js中,这就是我所做的 const express = require('express'); const bodyParser = require('body-parser');

const app = express();

app.use(bodyParser.urlencoded({ extended: false }));

app.set('view engine', 'ejs');

app.get('/', (req, res) => {
    res.render('index', { title: 'EJS Demo' });
});

app.post('/', (req, res) => {
    const a = req.body.a;
    res.get('index2',a);
});

app.listen(3000, () => {
    console.log('Listening....');
});

我认为帖子必须在这里做些事情...

1 个答案:

答案 0 :(得分:0)

我认为您需要从page1中的form1提交一个值,并将该变量传递给page2

如果是这样,您可以这样做

const express = require('express'); 
const bodyParser = require('body-parser');

const app = express();

app.use(bodyParser.urlencoded({ extended: false }));

app.set('view engine', 'ejs');


// send the page1 to the user
app.get('/', (req, res) => {
    res.render('page1', { title: 'EJS Demo' });
});


//capture the submit from the user and then send another page
//to the user
app.post('/submitForm', (req, res) => {
    const a = req.body.valueFromA;
    res.render('page2',a);
});

app.listen(3000, () => {
    console.log('Listening....');
});
<form name="input" action="\home" method="post">
      <input type='checkbox' checked>Cheese
    <input type="submit" value="Submit" href="validation.ejs">
</form>

<!-- page1 form1 -->

<html>
<head>
  <title> <& title &> </title>
</head>
  <form action='/submitForm' method='post'>
    <input type='text' value='' name='valueFromA' />
    <input type='submit' />
  </form>
</html>


<!-- page2 ejs -->

<html>
  <body>
    <p> <% value %> </p>
  </body>
</html>

b.ejs has

<h1><% post my variable here%></h1>
in my node js this is what i did const