首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法从Node/Express推送数组到EJS模板

无法从Node/Express推送数组到EJS模板
EN

Stack Overflow用户
提问于 2018-07-31 02:40:10
回答 1查看 367关注 0票数 0

我无法在不丢失数组所有数据类型的情况下将数组从服务器端express推送到我的EJS模板。我正在尝试使用谷歌图表来显示一些数据。它需要一个格式如下的数组,

代码语言:javascript
运行
复制
var data = google.visualization.arrayToDataTable([
    ['Task', 'Hours per Day'],
    ['Work',     11],
    ['Eat',      2],
    ['Commute',  2],
    ['Watch TV', 2],
    ['Sleep',    7]
     ]);

在服务器上,我使用以下代码以这种方式格式化数据,然后尝试将该数组发送到我的EJS模板。

代码语言:javascript
运行
复制
router.get('/:id', function(req, res){
    Poll.findById(req.params.id, function(err, poll){
        if (err) {
            console.log(err)
            res.redirect('back')
        } else {
            var optionData = [...poll.options];
            console.log(optionData);
            var optionArray = []
            optionData.forEach(function(option){
                optionArray.push([option.text, option.count]);
            })
            console.log(optionArray);
            res.render('../views/polls/show', {poll: poll, optionArray: optionArray})
        }
    })
})

console.log语句在服务器端显示以下结果。

代码语言:javascript
运行
复制
server started
[ { count: 2, _id: 5b5d1d93e5a57807b97c6f6e, text: 'lets goo1' },
  { count: 0, _id: 5b5d1d93e5a57807b97c6f6d, text: 'here we go2' },
  { count: 2, _id: 5b5d1d93e5a57807b97c6f6c, text: 'nice nice 3' } ]
[ [ 'lets goo1', 2 ],
  [ 'here we go2', 0 ],
  [ 'nice nice 3', 2 ] ]

但是,当我尝试在EJS中使用我的optionArray时,源代码将其转换为以下内容:

代码语言:javascript
运行
复制
console.log(<%=optionArray%>)
ends up looking like this in the browsers source code
console.log(lets goo1,2,here we go2,0,nice nice 3,2)

有人知道如何在将数组结构从node/express传递到EJS时保留它吗?

EN

回答 1

Stack Overflow用户

发布于 2018-07-31 03:04:24

代码语言:javascript
运行
复制
<ul>
    <% for(var i=0; i<optionsArray.length; i++) { %>
        <li>
            <%= console.log(optionsArray[i]) %>
        </li>
    <% } %>
</ul>

在您的ejs模板中尝试类似这样的操作,它是一个在optionsArray上迭代的for循环,相同的数组被索引访问

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51600325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档