node.js - 如何从 ajax 帖子更新 A Jade 模板?

标签 node.js pug express

我已经使用带有默认 View 引擎 jade 的 express 设置了一个基本的 node.js 网络应用程序。

当用户首次加载页面时,会发生以下情况

app.get('/', function(req, res){
    res.render('index', {
        title: 'Test',
        mode: "user"
    });
});

我无法解决的是如何更改我最初从 ajax 调用传递到 jade 模板的参数。

app.post('/', function(req, res){
    console.log(req.body.list);
    res.redirect('back');
    // I imagine the code needs to go here and look somewhat like the following
    // 
    // res.?update-view({
    //  mode: "admin"
    // });
});

如果有人有过此工作的经验,我们将不胜感激。

最佳答案

我不太确定你在做什么,但如果它用 AJAX 调用的结果更新页面(不刷新或以其他方式重新加载页面),那么你将不得不使用客户端 JavaScript . jQuery 的 load()post()应该能够处理。

或者,如果您不使用 AJAX 而是执行正常的表单提交,您有几个选择。第一,您可以保留重定向并使用 Express/Connect 的 Sessions系统确定用于 get 请求的内容,或者两个您可以将重定向替换为 index.jade 页面的另一个 res.render 并包含您要更改的变量。

应该理解的是,在这两种情况发生后,node.js 将网页的控制权交给浏览器,除非您专门设置通信架构。目前在 node.js 中没有控件来强制更新或页面更改到客户端。除非通过套接字连接或由客户端本身以其他方式轮询(例如在涉及 jQuery 的第一个示例中)。

关于node.js - 如何从 ajax 帖子更新 A Jade 模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5265514/

相关文章:

node.js - 如何在 krakenjs 中使用中间件来实现特定路由?

node.js - 带有 TypeScript : Declaration expected compiler error after @component 的 Angular2

javascript - 如何使用 busboy 防止 node.js Express 中的 POST 垃圾邮件?

node.js - 使用 mongodb 中的函数保存 javascript 对象

javascript - express 和 Jade : getting a variable into JavaScript

ajax - 如何使用 Node.js 和 Express 异步加载和显示网页内容?

node.js - MongoDB 中的用户特定数据库

node.js - 使用 Jade 有什么好处

node.js - 如何从vue,js pug 模板中引用数据?

node.js - Express.js 4 : catch bodyParser error in router's errorHandler