我使用express和handlebars来构建一个web应用程序。当我尝试呈现一个新的模板时,浏览器根本没有更新。控制台输出包含呈现的html,但屏幕上的页面保持不变。我的代码:
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');
});
});
服务器端的res.render
将把html内容写入套接字流。它不会渲染到屏幕。
浏览器必须读取响应html并手动呈现为,
responseText = //variable loaded its html content via ajax call
$("#someDivId").html(responseText)