【问题标题】:Unable to push array from Node/Express to EJS template无法将数组从 Node/Express 推送到 EJS 模板
【发布时间】:2019-01-07 01:54:25
【问题描述】:

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

var data = google.visualization.arrayToDataTable([
    ['Task', 'Hours per Day'],
    ['Work',     11],
    ['Eat',      2],
    ['Commute',  2],
    ['Watch TV', 2],
    ['Sleep',    7]
     ]);

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

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 语句在服务器终端中显示以下结果。

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 时,源代码将其转换为以下内容:

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 时如何保留它吗?

【问题讨论】:

    标签: arrays node.js express ejs


    【解决方案1】:
    <ul>
        <% for(var i=0; i<optionsArray.length; i++) { %>
            <li>
                <%= console.log(optionsArray[i]) %>
            </li>
        <% } %>
    </ul>
    

    在你的 ejs 模板中尝试这样的事情,它是一个循环遍历你的 optionsArray 并且相同的数组被索引访问

    【讨论】:

      猜你喜欢
      • 2015-07-17
      • 1970-01-01
      • 1970-01-01
      • 2014-01-28
      • 1970-01-01
      • 2018-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多