2015-03-29 3 views
2

Я пытаюсь показать изображения из imdb api image должен показать в todo.poster, он отлично работает, когда я пытаюсь получить доступ к нему локально. но когда я развертываю свой проект на сервере, изображения не загружаются в первый раз, но если я открываю одно и то же изображение на новой вкладке один раз, а затем обновляю свой URL-адрес проекта, изображение будет отображаться. Я довольно много расстроен, пытаясь решить эту проблемуИзображение не загружается javascript, html, angular, imdb api

<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/[email protected]@._V1_SX300.jpg 

В случае если использование инспектировать элемент моего браузера я вижу эту ошибку

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

Можете ли вы предоставить подробную информацию о заголовках запросов для успешных ответов и 403 ответах? –

+0

Вы пытались использовать ng-src = "todo.poster" без '{{' и '}}'? –

+0

Привет - Это закончилось тем, что imdb фактически блокировал запрос, чтобы показать свои плакаты, они не разрешают хотлинкинг, поэтому они их заблокировали –

ответ

1

Кончилось тем, чтобы быть, что IMDB фактически блокирует запрос, чтобы показать их плакаты, они не разрешают хотлинкинг, поэтому они блокируют его. Они проверяют реферирования для блокировки запроса.

Это может быть несколько решений для этого, если кто-то другой сталкивается с одной проблемой, можно сначала загрузить изображения на свой сервер, а затем показать их там, другим может быть использование какого-либо другого api, такого как moviedb. обратите внимание, что изображения, возвращаемые api гнилыми помидорами, являются только миниатюрами, поэтому это не поможет.

Альтернативно, если кто-то хочет использовать api, который извлекает данные только из imdb, тогда он может использовать его в сочетании с moviedb, например. получить всю информацию из imdb, а затем использовать идентификатор фильма, возвращенный imdb, вы можете получить изображение плаката или другие изображения из moviedb.