如何将Pug JSON对象传递给客户端JavaScript
我试图将一个JSON对象从pug传递到客户端JavaScript。下面是代码的结构。我呈现一个JSON对象,并从Node Express后端将其传递给帕格。代码如下:如何将Pug JSON对象传递给客户端JavaScript,javascript,node.js,pug,Javascript,Node.js,Pug,我试图将一个JSON对象从pug传递到客户端JavaScript。下面是代码的结构。我呈现一个JSON对象,并从Node Express后端将其传递给帕格。代码如下: server.js: app.get('/myrooms', function(req, res) { Room.find() .where('_id') .in(user.rooms) .exec(function (err, records) {
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})
})
})
console.log(trooms)
之后,该对象在我的pug文件中可用。现在我想把它传递给客户端脚本。我在我的index.pug
文件中做了类似的事情
index.pug
:
script(src='/js/play.js').
trooms = "#{myrooms}"
play.js
:
app.get('/myrooms', function(req, res) {
Room.find()
.where('_id')
.in(user.rooms)
.exec(function (err, records) {
res.render('rooms/index', {myrooms : records})
})
})
console.log(trooms)
它给出了“troom
未定义”错误。我不知道怎样才能通过这个物体。根据一些旧的帖子,这是在玉器中工作。但是,我使用的是pug版本2.0.0-rc.2
,您可以试试
var trooms = !{JSON.stringify(myrooms)}
在编写脚本之前,您必须先退出
rooms=“#{myrooms}”
。此外,还需要调用JSON.parse('#{myrooms}')
来将JSON转换为对象。我尝试了JSON.parse('{myrooms}')
但它不起作用。我将它恢复到旧版本的jade,这是可行的。我现在就用这个