图像未加载javascript、html、angular、imdb-api

Image not loading javascript,html,angular,imdb api

本文关键字:html imdb-api angular javascript 加载 图像      更新时间:2023-09-26

我正在尝试显示来自imdb的图像。api图像应显示在todo.poster中,当我尝试在本地访问它时,它工作得非常好。但当我在服务器上部署我的项目时,图像不会第一次加载,但如果我在新选项卡中打开同一个图像一次,然后刷新我的项目url,图像就会显示出来。我很沮丧试图解决这个问题

 <div ng-repeat="todo in todos">
            <a href="#show/{{todo.title}}" >
                <h2>{{todo.title}}</h2>
                </a>
                <br>
                <a href="#show/{{todo.title}}" >
                <img ng-src= {{todo.poster}} alt="Image Not Found">
                </a>
      </div>
 http://ia.media-imdb.com/images/M/MV5BMTk4ODk5MTMyNV5BMl5BanBnXkFtZTcwMDMyNTg0Ng@@._V1_SX300.jpg 

如果使用我的浏览器的检查元素,我会看到这个错误

  Failed to load resource: the server responded with a status of 403 (Forbidden)

imdb实际上阻止了展示海报的请求,他们不允许热链接,这就是他们阻止它的原因。他们正在检查referer来阻止请求。

如果其他人遇到同样的问题,可以有多种解决方案,其中一种可以是首先在您的服务器上下载图像,然后在那里显示这些图像,另一种可能是使用其他一些api,比如moviedb。请注意,烂番茄的api返回的图像只是缩略图大小,所以这没有帮助。

或者,如果有人想使用仅从imdb获取数据的api,那么可以将其与moviedb结合使用,例如,从imdb获得所有信息,然后使用imdb返回的电影id,您可以从moviedb获得海报图像或其他图像。