【问题标题】:Is there a way to send new data from nodejs to jade after a page has been rendered?渲染页面后,有没有办法将新数据从 nodejs 发送到玉?
【发布时间】:2015-08-15 13:48:46
【问题描述】:

例如,我可以在页面即将呈现时发送数据:

router.post('/login', function(req, res){
 res.render('filename', {title: 'File Name', FIles: JSON.stringify(doc)});
}

比方说 filename.jade 有一个按钮可以将数据发送回节点 js,发送到 '/getdoc' 路由。 '/getdoc' 不会呈现任何新页面,而是将数据保存在数据库中。并返回一个数据。发回doc 的数据是保存在数据库中的所有文档的字典:

router.post('/getcode', function(req, res){
 res.header('text/html').send(doc);
}

我已经尝试过 res.send 和 res.json。如果我使用 res.json 或 res.send 然后在客户端我这样检索它:!{JSON.stringify(doc)}

【问题讨论】:

  • 您可以使用res.json 将json 文档发送回客户端。
  • 我试过了,还是不行。我试过 res.send 和 res.json。如果我使用 res.json 或 res.send 然后在客户端我这样检索它:!{JSON.stringify(doc)}
  • 能否详细说明您打算如何在客户端使用数据以及为什么不能使用上述方法?
  • 使用 res.send 或 res.json 后,在服务器端打印 console.log(doc),我得到正确的项目,但在客户端打印 console.log( doc),我没有得到正确的项目。

标签: javascript ajax node.js express pug


【解决方案1】:

简短回答:

但首先,JADE 是一个渲染引擎,它接受翡翠文件和数据(可选)并在服务器端渲染一个 HTML 页面。然后,应用程序管道将此页面发送给客户端,客户端显示它。客户端有NO玉。

现在,解决您的问题:

  • 您的路线看起来不错,请使用 res.json 以 JSON 格式发回数据。
  • 使用客户端脚本(vanilla JS 或任何其他库,如 jQuery)通过 AJAX(单击按钮时)调用该路由,并根据接收到的数据更新 DOM。

我希望这会有所帮助。评论/回复以进一步澄清。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-08
    • 1970-01-01
    • 2016-08-01
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多