如何读取EJS中的对象属性?

问题描述 投票:0回答:1

我有一个快递服务器,它有一个 API 来获取食品。 我有一个 ejs 索引文件,我想显示食物的名称。

在 server.js 中我像这样获取它

app.get('/', async (req, res) => {
    try {
        fetch('http://localhost:3000/api/food/all')
        .then((response) => response.text())
        .then((body) => {
            res.render('pages/home', {
                items: body
            })
        }); 
    } catch (err) {
        console.log("ERROR")
    }


})

现在可以了。因为在 ejs 文件中我可以这样做:

<%= items %>

它显示的数组如下: *{“message”:“已获取所有食品”,“items”:[{“_id”:“658b484b34533ccab5cd809b”,“name”:“Taco”,“additionals”:[{“name”:“酸奶油”} ,{"名称":"番茄"}],"价格":3.5}]} *

当我尝试访问其中的 items 数组的第一项时,它给了我一个错误。 这是我的代码

<%= items.items[0].name %>

我的错误是: 无法读取未定义的属性(读取“0”)

我该怎么办?

我尝试过 items.items (它呈现,但显示空白),我尝试过 items.items.name,我尝试过 items.items['name'],我尝试过使用 for 循环来实现并循环遍历每个。

没有运气。每次都说无法读取未定义的属性。

javascript node.js arrays templates ejs
1个回答
0
投票

谢谢你们,解决方案正在改变(在 server.js 中)

response.text() 到 response.json()

© www.soinside.com 2019 - 2024. All rights reserved.