【发布时间】:2018-05-30 18:33:21
【问题描述】:
我有以下路线的基本 express js 应用程序:
router.get('/', function(req, res){
res.render('login');
});
它工作正常 - 在我的本地主机上登录主页后,来自 login.pug 的 html 很好地呈现在客户端。但是,当我的应用程序运行时,有时我想渲染另一个 pug 文件,而客户端已经渲染了 html:
app.get('/dashboard', function(req, res){
res.render('dashboard', {user: req.query.login});
});
但是当 get 请求在'dashboard'path 上发送时,什么也没有发生。据我了解,这是因为 res.render 只是将 pug 文件解析为 HTML 并将其作为纯字符串发送给客户端(我可以在浏览器开发人员工具中检查它,当我检查 AJAX 响应时,我会看到完全呈现的 HTML)。
现在我的问题是:有没有办法在客户端自动从 res.render 渲染 HTML?所以在服务器端我只写res.render('template') 并在客户端页面重新渲染而不处理响应?
我知道我可以清除整个 DOM 并将接收到的字符串附加到 document.body 中,我也知道我可以发出 POST 表单请求,然后页面将自动重新呈现,但我想避免这两种解决方案(不要'不要问为什么)。
提前感谢您的帮助。
【问题讨论】:
标签: javascript html express pug