ExpressJS传递变量EJS未定义

时间:2018-07-07 19:42:34

标签: javascript node.js express ejs

用户在字段中输入一个值,单击“提交”按钮,页面将使用用户在该字段中输入的值重新呈现。 根据我的理解,一旦用户单击提交,使用的方法就是POST。

//routes file    

'use strict'

const express = require('express')
const router = express.Router()


router.get('/', (req, res) => {

    res.render('layout')

})

router.post('/', (req, res) => {

    res.render('layout', {use: req.body.item})

})

module.exports = router

//views file

<h1>

<% if(use) { %>
    <%= use %>
<% } %>

</h1>

由于某种原因,这仅在我另外定义并从GET方法传递'use'变量的情况下才能正常工作。这定义了变量;否则,我会收到“变量未定义”。我认为在我的视图文件中,“ if(use)”语句将解决是否定义了变量的问题;但事实并非如此。是否有更好的方法可以解决此问题,而不必从GET方法中定义和传递“使用”变量?

谢谢。

0 个答案:

没有答案