繁体   English   中英

我怎样才能让这个 JSON 文件中的项目正确显示?

[英]How can I get the items in this JSON file to display properly?

所以我不确定我在这里做错了什么。 我从服务中获得了这三个项目,它采用 JSON 格式。 当我写出循环以仅显示艺术家姓名和歌曲时,我不断收到错误消息

这是 server.js 中的 API 命令

app.post('/process_form', function(req, res){
    var search = req.body.search
    axios.get('https://itunes.apple.com/search?term='+search)
    .then((response)=>{
        var songlist = response.data.results;
        console.log(songlist);
        res.render('pages/thanks.ejs', {
            songlist: songlist,
            search: search
        });
    });
})

这是 html 表单的代码,用户可以在其中输入歌曲或艺术家的名称

        <form action="/process_form" method="post">
            <h1>Which song would you like to lookup</h1>
                <div>
                    <input type="text" id="search" name="search">
                </div>
            <input type="submit">

这是列表中结果为 output 的形式

    <ul>
        <% songlist.forEach(function(songlist) { %>
            <li>
                <strong><%= songlist[artistName] %></strong>
                <strong><%= songlist[TrackName] %></strong>
            </li>
        <% }); %>
    </ul>    

这就是数据的原始来源。

 {
    wrapperType: 'track',
    kind: 'song',
    artistId: 216123617,
    collectionId: 982317323,
    trackId: 982317327,
    artistName: 'Rockabye Baby!',
    collectionName: 'Lullaby Renditions of Radiohead',
    trackName: 'Let Down',
  },

最后我得到的错误是。 我只是对为什么说我没有定义 songList 感到困惑

    5|     <main>
    6|         <ul>
 >> 7|             <% songlist.forEach(function(songlist) { %>
    8|                 <li>
    9|                     <strong><%= songlist[artistName] %></strong>
    10|                     <strong><%= songlist[TrackName] %></strong>

songlist is not defined

对不起,很长的帖子。 我对此感到非常沮丧,我不知道我做错了什么

编辑:我使用 EJS 作为视图引擎

app.set('视图引擎', 'ejs');

我发现解决方案是在实际渲染我的索引文件时,我把

res.render(index)

当文件名应该是

res.render(index.ejs)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM