使用express.index发送json对象的麻烦

时间:2013-03-07 21:22:28

标签: javascript arrays json node.js express

我正在使用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结构?我正在使用它,因为我想发送一个更大的数组。

Thans

2 个答案:

答案 0 :(得分:2)

如果您尝试从EJS模板生成客户端Javascript,我想您想要这样:

data = <%- JSON.stringify(Tout_array) %>;

答案 1 :(得分:1)

试试这个:

<%= JSON.stringify(Tout_array) %>