问题
I'm using express and handlebars to build a web app. When I attempt to render a new template, however, the browser doesn't get updated at all. The console output contains the rendered html, but the page on screen stays the same. My code:
router.post('/login', function(req, res) {
User.findByUsername(req.body.username, function(err, user) {
if(err === null) {
req.session.username = req.body.username;
req.currentUser = user;
console.log("rendering"); //prints
res.render('x.handlebars', {currentUser : req.session.username});
}
else
utils.sendErrResponse(res, 403, 'Username invalid');
});
});
回答1:
res.render on server side will write the html content to the socket stream. It doesn't render to the screen.
The browser must read the response html and render it manually as,
responseText = //variable loaded its html content via ajax call
$("#someDivId").html(responseText)
来源:https://stackoverflow.com/questions/33069113/node-js-res-render-wont-update-view-on-browser