当前位置: 首页 > 知识库问答 >
问题:

EJS文件没有显示来自使用axios的JSON url的数据

梁晋鹏
2023-03-14

我目前正在创建一个网页,它将使用Axios显示来自json URL的各种数据。当前,这是我的JS文件:

var express = require('express');
var app = express();
const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded());
app.use(express.static("public"));
//required module to make calls to API 
const axios = require('axios');
const moment= require('moment') 
 
// set the view engine to ejs
app.set('view engine', 'ejs');

app.use(express.static("public"));

// use res.render to load up an ejs view file

// index page 
app.get('/', function(req, res) {
    axios.get('https://itunes.apple.com/search?term=%3Cartist%3E')
        .then((response)=>{
            //res.send(response data)
            console.log(response.data);

            
            var song=response.data
            JSON.stringify(song)
            res.render('pages/index', {
                song:song,
                itunes:response.data
                
            });
   
});  
});

app.listen(1000);
console.log('connected to 1000'); 

现在我有了一个ejs文件,它将呈现js文件,以显示将显示结果的网页。代码如下所示:

<!DOCTYPE html>
<html lang="en">
    
<body class="container">
    
    <main>
        <div class="songs">
            <li>
            <strong><%= song.results %>
            </li>
        </div>
    </main>
</body>
</html>

然而,我在网页上得到的结果是:

[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

为什么会发生这种情况?

共有1个答案

郭华美
2023-03-14

API中的data.results是一个数组,您需要创建for循环来呈现它们

<html lang="en">

<body class="container">

  <main>
    <div class="songs">
      <%= for (const i of song.results) { %>
        <li>
          <strong>
            <%= i.previewUrl %>
          </strong>
        </li>
        <% } %>
    </div>
  </main>
</body>

</html>
 类似资料:
  • 问题内容: 题 是否可以使Log4J显示其用于配置的文件的完整路径? 背景 我与log4j有爱恨交织的关系。在好的时候,它很棒,但是当它不起作用时,它可能是最难调试的事情之一。我管理应用程序中的所有日志记录。因此,我对日志记录和手册中定义的默认初始化过程非常熟悉。 不过,似乎每隔几周,记录就会中断,我花 了很多 时间来解决问题。 这次,它被严重破坏了。每个地方的每个日志语句都被转储到控制台中,我不

  • 大家好,我在项目中遇到了一个大问题。我发出OkHttp请求,从服务器收到响应,一切都很完美。问题是为什么我不能显示数据,我在xml和listview中创建了一个模型项(这是必需的视图),当我访问该页面时,该页面为空。 有人能帮我解决这个问题吗? 页面代码如下:

  • 我想使用Scala API显示整个Apache SparkSQLDataFrame。我可以使用方法: 有没有比使用Int.MaxValue更好的方法来显示整个数据帧?

  • 问题内容: 此代码将图片test.gif放入图片位值中。 我的下一个目标是显示以字节为单位保存在数据库中的图片。如何才能做到这一点 ? 问题答案: 就像是: 可能为您工作。

  • 我只是想安装node.js/express/ejs.我知道ejs不是真正的超文本标记语言,所以我很难只显示一个简单的图像。有人能给我指出正确的方向吗? 目录结构为: 我的应用程序/服务器。js myApp/视图/索引。ejs myApp/徽标。jpg 现在我有 我走错方向了吗?谢谢