Javascript 显示从Nodejs ExpressJS路由到EJS视图
我从calc.js路由器渲染calc.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 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
});
}