Javascript 显示从Nodejs ExpressJS路由到EJS视图

Javascript 显示从Nodejs ExpressJS路由到EJS视图,javascript,node.js,express,ejs,Javascript,Node.js,Express,Ejs,我从calc.js路由器渲染calc.ejs,如下所示: // calc.js router router.get('/calc', function(req, res, next) { res.render('calc', {page:'Calculator', menuId:'Calculator', result: ''}); }); 我的calc.ejs是: // calc.ejs view <form action="/user/calc" method="post">

我从calc.js路由器渲染calc.ejs,如下所示:

// calc.js router
router.get('/calc', function(req, res, next) {
  res.render('calc', {page:'Calculator', menuId:'Calculator', result: ''});
});
我的calc.ejs是:

// calc.ejs view
<form action="/user/calc" method="post">
    <input type="number" name="num1"/><br/>
    <input type="number" name="num2"/>

    <input type="submit" value="Submit"/>

</form>   

<% if( result ){ %>
    <p> Display result here!!! :  < %= result %> </p>
  <% } else{ %>  
    <h1>No Result</h1>
 <% } %>

我得到这个json:

{"result":46} 
我的问题是,为什么结果不显示在
元素中,而是显示为json,以及如何在那里显示它


提前谢谢

您可以再次在calc函数中渲染视图

exports.calc = (req, res, next) => {
    let rezz = Number(req.body.num1) + Number(req.body.num2)   
     return res.render('calc', {page:'Calculator', menuId:'Calculator', result: rezz });
 }
如果要使用json,则必须在表单submit上调用ajax函数,并发送请求,并在ejs中的视图中显示返回的响应:

< %= result %>  // this is wrong
<%= result %>   // this is right
< %= result %>  // this is wrong
<%= result %>   // this is right
exports.calc = (req, res, next) => {
    let rezz = Number(req.body.num1) + Number(req.body.num2) 
    res.render('calc',{
        page:'Calculator', 
        menuId:'Calculator',
        result: rezz
    });
 }