【发布时间】:2013-03-07 21:22:28
【问题描述】:
我正在使用 express 来做一个非常简单的页面。我的index.js 看起来像这样:
exports.index = function(req, res){
res.render(
'index',
{
title: 'Expressssss',
Tin: varTin,
Tout : varTout,
Hin : varHin,
Tout_array : { 'date': 'Thu Mar 07 2013 22:00:04 GMT+0100 (CET)', 'value': '10062' }
}
);
};
在文件index.ejs 上,我可以使用例如<%= Tin %> 的值...这很好用....
问题是data = <%= Tout_array %>; 似乎不能正常工作。使用 chromes 控制台,它在这一行出现错误。解析后的html代码如下:
data = [object Object];
此时的错误是
Uncaught SyntaxError: Unexpected identifier
我做错了什么?为什么解析任何其他变量都很好,但不是这个嵌套的 json 结构?我正在使用它,因为我想发送一个更大的数组。
比
【问题讨论】:
-
我们能看到 index.ejs 文件吗?
-
在没有任何其他指导的情况下,JavaScript
ObjectstoString()到你所得到的 --[object Object]。如果你想要更有用的东西,你必须明确你想要的格式。对于 JSON,这是JSON.stringify(),正如其他人已经建议的那样。 -
@JonathanLonowski 感谢您的想法。我现在遇到2个问题。首先,JSON.stringify 用
"-qhotes 退出一个字符串,这不起作用......其次,我需要在数组中添加一个额外的引号,'[{},{}]‘instad of[{},{}].... 所以我需要从[{"date":},{}]转换为'[{\'date\'},{}]‘。有点奇怪有没有更好的方法?
标签: javascript arrays json node.js express