我有一个快递服务器,它有一个 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 循环来实现并循环遍历每个。
没有运气。每次都说无法读取未定义的属性。
谢谢你们,解决方案正在改变(在 server.js 中)
response.text() 到 response.json()