NodeJS 如何在EJS中读取对象属性?

xt0899hw  于 9个月前  发布在  Node.js
关注(0)|答案(1)|浏览(77)

我有一个express服务器,它有一个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”:“All food items fetched”,“items”:[{"_id”:“658 b484 b34533 ccab 5cd 809 b”,“name”:“Taco”,“additionals”:[{“name”:“Sour Cream”},{“name”:“Tomato”}],“price”:3.5}]} *
当我试图访问items数组的第一个元素时,它给了我一个错误。这是我的代码<%= items.items[0].name %>
我的错误是:无法读取未定义的属性(阅读“0”)
我该怎麽办?
我试过items.items(它呈现,但显示为空白),我试过items.items.name,我试过items.items 'name'],我试过用for循环来做这件事。
不走运。每次它都说它不能读取未定义的属性。

e5njpo68

e5njpo681#

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

response.text()

字符串
收件人:

response.json()

相关问题