将变量从jade传递给javascript

时间:2014-01-21 16:10:00

标签: javascript json node.js express pug

我正在尝试将路由处理程序中的变量传递给javascript文件。

提取主页的快递路线是:

exports.home = function(req, res){

    var _ajaxData = [ ["#collections","collections", "Collections"],
                      ["#candidates","candidates", "Candidates"],
                      ["#entries","entriess", "Entries"],
                      ["#exits","exits", "Exits"]
                    ];

    res.render('home/home', { title: 'Welcome to My Web', _ajaxData: _ajaxData});
};

我的玉文件如下所示:

extends ../layout/base

block content
      each item in _ajaxData
        div(id= item[0]).col-md-6
              h3.panel-title= title
            .panel-body
              | Loading content...

  script(src='js/home.js')

使用home.js中的ajax加载内容,如下所示:

var ajaxData = JSON.stringify('!{_ajaxData}');
console.log(ajaxData);
// Further processing here

问题:控制台打印:

"!{_ajaxData}" 

我希望将完整的数组传递给javascript。

欣赏任何见解

1 个答案:

答案 0 :(得分:22)

将此添加到您的玉器文件

script(type='text/javascript')                                                   
  var local_data =!{JSON.stringify(data)};   
script(src='javascripts/myScript.js')  

现在,您的所有数据都应该在local_data中,供您在myScript.js

中使用