【问题标题】:How to pass a Pug JSON object to client side JavaScript如何将 Pug JSON 对象传递给客户端 JavaScript
【发布时间】:2017-08-11 22:24:54
【问题描述】:

我正在尝试将 JSON 对象从 pug 传递到客户端 JavaScript。以下是代码的结构。我渲染一个 JSON 对象并将其从我的 Node-Express 后端传递给 Pug。代码如下:

server.js:

app.get('/myrooms', function(req, res) {
    Room.find()
        .where('_id')
        .in(user.rooms)
        .exec(function (err, records) {
            res.render('rooms/index', {myrooms : records})
        })
})

之后,这个对象在我的 pug 文件中可用。现在我想将它传递给客户端脚本。我在我的index.pug 文件中做这样的事情。

index.pug:

script(src='/js/play.js').
    trooms = "#{myrooms}"

play.js:

console.log(trooms)

它给了我“troom 未定义”错误。我不知道如何传递这个对象。根据一些旧帖子,这是在玉石上工作。但是,我使用的是哈巴狗版本2.0.0-rc.2

【问题讨论】:

  • 在获取脚本之前,您必须退出 trooms = "#{myrooms}"
  • 另外,需要调用JSON.parse('#{myrooms}')将JSON转换为对象。
  • 我尝试过JSON.parse('#{myrooms}'),但没有成功。

标签: javascript node.js pug


【解决方案1】:

你可以试试

var trooms = !{JSON.stringify(myrooms)}

【讨论】:

  • 我将它恢复为旧版本的翡翠,这很有效。我现在会处理这个
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-17
  • 1970-01-01
相关资源
最近更新 更多