JSONオブジェクトをpugからクライアントサイドのJavaScriptに渡そうとしています。コードの構造は次のとおりです。 JSONオブジェクトをレンダリングし、Node-ExpressバックエンドからPugに渡します。以下のコード:Pug JSONオブジェクトをクライアントサイドに渡す方法JavaScript
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})
})
})
このオブジェクトが私のパグファイルで提供された後。今私はそれをクライアント側のスクリプトに渡したいと思います。私はindex.pug
ファイルでこれをやっています。
index.pug
:
script(src='/js/play.js').
trooms = "#{myrooms}"
play.js
:
console.log(trooms)
それは私を与えるエラー 'troom
が定義されていません'。私はこのオブジェクトをどのように渡すことができるかわかりません。いくつかの古い記事によると、これは玉の中で働いていた。しかし、私はパグのバージョン2.0.0-rc.2
を使用しています。
あなたは、スクリプトをソースの前に ' "#{myrooms}"' trooms =アウトする必要があります。 – lxe
また、JSONをオブジェクトに変換するには 'JSON.parse( '#{myrooms}')'を呼び出す必要があります。 – alexmac
JSON.parse( '#{myrooms}') 'を実行しようとしましたが、動作しませんでした。 – Shadid