ken*_*tor 2 javascript json node.js express pug
我想将一个对象数组传递到我的javascript代码块中,但我很挣扎,因为它会对结果进行html编码,以便我"在实际的JSON中有很多.
基本上我的路由器从redis商店获取JSON对象,我试图将其传递给模板:
redis.getBuffer('languages', function (err, result) {
res.render('manager/create-project', { title: 'Create Project', breadcrumbs: req.breadcrumbs(), languages: result })
})
Run Code Online (Sandbox Code Playgroud)
我将它分配给我的变量:
script.
$(document).ready(function() {
var languages = #{languages};
Run Code Online (Sandbox Code Playgroud)
问题: 实际的javascript变量语言获取html编码的字符串,如下所示.
var languages = [{"id":"aa","text":"Afar"}]
Run Code Online (Sandbox Code Playgroud)
如何将JSON内容正确传递到javascript块?
你需要插入而不需要转义.这可以通过使用!而不是来实现#.
例如,将模板更改为以下内容可以解决您的问题:
script.
$(document).ready(function() {
var languages = !{languages};
Run Code Online (Sandbox Code Playgroud)
作为参考,这里是文档的链接
这样做的工作方式是(我知道这很可怕,但 PUG 是这样工作的)
script(type="text/javascript").
$(document).ready(function(){
var languages = !{JSON.stringify(languages)}
});
Run Code Online (Sandbox Code Playgroud)
2018年工作
有关http://www.mircozeiss.com/how-to-pass-javascript-variables-from-a-server-to-angular 的更多信息