Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在pug中将JSON作为javascript变量传递_Javascript_Json_Node.js_Express_Pug - Fatal编程技术网

在pug中将JSON作为javascript变量传递

在pug中将JSON作为javascript变量传递,javascript,json,node.js,express,pug,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

我想将一个对象数组传递到我的javascript代码块中,但我正在努力,因为它将对结果进行html编码,因此我在实际的JSON中获得了大量的

基本上,我的路由器从redis商店获取JSON对象,我正在尝试将其传递给模板:

redis.getBuffer('languages', function (err, result) {
    res.render('manager/create-project', { title: 'Create Project', breadcrumbs: req.breadcrumbs(), languages: result })
})
我这样将其分配给我的变量:

script.
    $(document).ready(function() {
        var languages = #{languages};
问题: 实际的javascript变量语言获取html编码的字符串,如下所示

var languages = [{"id":"aa","text":"Afar"}]

如何将JSON内容正确地传递到javascript块?

您需要在不转义的情况下进行插值。这可以通过使用
而不是
来实现

例如,将模板更改为以下内容可以解决您的问题:

script.
    $(document).ready(function() {
        var languages = !{languages};

作为参考,这里有一个链接,指向的是(我知道这很可怕,但帕格就是这样工作的)

2018年工作

关于这一点的更多信息对我很有用:

NodeJs

res.render('itemdetails', {
    title: 'Donation item details',
    user: req.user,
    item: item.toJSON(),
    GOOGLE_MAP_API_KEY: process.env.GOOGLE_MAP_API_KEY
  });
 script.
  $(document)
    .ready(() => {
    createGlobalObjects('minimap');
    let item = !{JSON.stringify(item)};
    initLocationSearch(positionItemOnMap.bind(item));
  });
哈巴狗视图

res.render('itemdetails', {
    title: 'Donation item details',
    user: req.user,
    item: item.toJSON(),
    GOOGLE_MAP_API_KEY: process.env.GOOGLE_MAP_API_KEY
  });
 script.
  $(document)
    .ready(() => {
    createGlobalObjects('minimap');
    let item = !{JSON.stringify(item)};
    initLocationSearch(positionItemOnMap.bind(item));
  });
结果:


否决这个问题的人能解释一下他为什么这么做吗?也许我可以改进我的问题。太好了,我没有意识到这一点!很高兴能提供帮助!大多数模板语言自动转义HTML字符以防止意外代码执行(如注释中的脚本标记),因此,当neededIt根本不起作用时,最好知道如何进行控制,如果
语言
是JSON,则如果使用
语法调用,帕格也会将其字符串化