【发布时间】:2013-04-11 18:57:58
【问题描述】:
我将一些 JSON 数据传递给 Jade 模板,但似乎无法将 JSON 数据打印到我的 Jade 模板。这是存储并传递给 Jade 模板的 JSON 示例:
{ name: 'Team 1',
_id: 5134d71192cf972226000003,
__v: 0,
key: 1362417425623 }
像这样传递给 Jade 模板:
res.render('tournamentDetails', { 'tournamentData' : tournamentData, seedsSerialized : JSON.stringify(tournamentData.teams) } );
Jade 模板的格式为:
script(type='text/javascript')
var seeds = [#{tournamentData.teams}];
我正在尝试在单独的 JavaScript 文件中访问此变量 seeds,但似乎无法访问它们。我一直在使用alert 进行测试,以测试 JavaScript 文件中种子中的内容,而不是团队。
这也是从 Jade 生成的 HTML:
var seeds = [{ name: 'Team 1',
_id: 5134d71192cf972226000003,
__v: 0,
key: 1362417425623 },{ name: 'Team 2',
_id: 5139dc66b48da58d0e000001,
__v: 0,
key: 1362746470498 },{ name: 'Team 3',
_id: 5139dda45f1598440f000001,
__v: 0,
key: 1362746788314 },{ name: 'Team 4',
_id: 513b2c66cfd50dce11000001,
__v: 0,
key: 1362832486554 }];
如何访问 JavaScript 文件中的团队?我想将teams 的names 输出到Jade 模板。
【问题讨论】:
-
我真的很想帮忙,但只是再澄清一点。问题是
seeds在 Jade 的输出中没有正确生成,还是您无法从其他地方访问seeds?如果输出错误,你能举一个预期输出的例子吗?还有,你为什么要创建seedsSerialized,却不使用它来分配var seeds = !{seedsSerialized};? -
@BretCopeland 我正在尝试将 JSON 传递给 Jade 模板,我相信它已经完成了,因为这个变量
seeds给出了我上面提到的输出。我基本上有一组括号,我试图将团队名称放入其中。在单独的 JS 文件中,我似乎无法访问seeds,当我尝试输出seeds时,它是空白的,什么都没有。所以是的,问题是我无法从我的 JS 文件中访问它。我不确定seedsSerialized,一位朋友正在帮助处理那行代码,这就是它的离开方式,对此感到抱歉。 -
在包含使用该变量的任何其他脚本之前,您是否确保已声明
seeds? (换句话说,您在页面上包含脚本的顺序很重要。) -
JSON 中 _id 的值是否无效。难道它们不需要用引号括起来以使它们成为字符串吗?
-
@BretCopeland 正确,正在加载的唯一其他脚本中没有任何变量
seeds。
标签: javascript json node.js pug