javascript - express.js - 渲染完整数据

标签 javascript html node.js express

我正在尝试渲染对象数组(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() 得到的结果:

[{&quot;name&quot;:&quot;1&quot;,&quot;y&quot;:5},{&quot;name&quot;:&quot;2&quot;,&quot;y&quot;:2}]

使用util.inspect的结果:

[ { name: &#39;1&#39;, y: 5 }, { name: &#39;2&#39;, y: 2 } ]

编辑: 我现在明白发生的事情是 ' 转义为 html,有办法防止这种情况吗?

最佳答案

为什么不使用 <%-而不是<%= ,并传递对象 JSON.stringify() 方法。

第一个将渲染 HTML 中的对象,第二个将渲染变量(即 eval)

关于javascript - express.js - 渲染完整数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25544897/

相关文章:

javascript - 实现可折叠: how to determine which section is open?

javascript - 为什么这个二维数组会出错?

html - 如何在CSS div中制作圆圈?

javascript - 如何使我的绝对定位元素具有响应性?

javascript - 输入输入时,移动浏览器会调整文本区域的大小

node.js - Maven 前端构建在生成源阶段运行两次

node.js - 我的 npm 模块应该安装在 Mac OS X 的什么位置?

javascript - 使用 Javascript 在文本框中只允许数值

javascript - 需要在具有 overflow-y auto 的父元素之外创建一个元素

javascript - 我可以从 Node.js 中运行的 javascript 安装 NPM 包吗?