【发布时间】:2014-08-28 09:06:32
【问题描述】:
我正在尝试渲染一个对象数组(highcharts 点)。数据应该没问题,但是当我尝试渲染时,我得到[object Object] 而不是数据本身。
JSON.stringify() 不适合 HTML。
util.inspect,也不添加数据。
toString()给我一样的渲染图。
我不知道还能尝试什么,我要发送的是用于高图图形的数据。
小例子:
app.js:
var express = require('express'),
app = express();
app.listen(8080);
app.get('/', function (req, res) {
var view = 'test.ejs',
theme = [{name: '1', y: 5}, {name: '2', y: 2}];
res.render(view, {theme: theme});
console.log('ok');
});
theme_days.ejs:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<script type="text/javascript">
<%= theme %>
</script>
</body>
</html>
结果(好像toString()):
[object Object],[object Object]
JSON.stringify() 的结果:
[{"name":"1","y":5},{"name":"2","y":2}]
util.inspect 的结果:
[ { name: '1', y: 5 }, { name: '2', y: 2 } ]
编辑:
我现在明白发生了什么是' 被转义为 html,有没有办法防止这种情况发生?
【问题讨论】:
-
模板级别的 eacaping 发生在解决方案 stackoverflow.com/questions/8547131/…
-
@Max:Urg,那和 JSON.stringify 立即解决了问题...
标签: javascript html node.js express