ng-src 403没有图像,但路径正确

时间:2015-08-20 04:51:24

标签: javascript angularjs image

查看了一些相关帖子:

Why am I getting a 404 error with ng-src even though image is appearing?

AngularJS ng-src path to image

Understanding AngularJS ng-src

Conditionally change img src based on model data

但没有一个具有完全相同的症状。

这行代码,

<img ng-src="{{movie.Poster}}" alt="">

其中movie是JSON而movie.Poster是一个网址字符串,似乎是此错误的根源:

GET http://ia.media-imdb.com/images/M/MV5BMTk3OTIzODUyOV5BMl5BanBnXkFtZTYwNjgxNjA5._V1_SX300.jpg 403 (Forbidden)

因为图片网址在错误中是完整且完整的,所以网址字符串属性movie.Poster似乎已及时传递到ng-src ok /。然而,许多看似相关的帖子强调JS的异步性可能是负责任的(在这种情况下movie.Poster确实取决于API的响应)。

但是如果网址出错,为什么ng-src在请求图片和显示任何内容时都有问题?最接近我的问题的上述帖子能够加载图像并给出控制台错误...

也许最奇怪的是如果我导航到图片网址(通过复制并粘贴该网址)到浏览器上的另一个标签页,然后返回我的应用程序并单击然后向前,图片加载没有错误!

我试过ng-if="movie.Poster" 和... 控制器中的$scope anotherVar = movie.Poster,然后是ng-src="{{anotherVar}}"

2 个答案:

答案 0 :(得分:0)

您的错误是403。 这表明服务器可以到达并理解请求,但拒绝以采取任何进一步的操作。状态代码403响应是Web服务器由于某种原因被配置为拒绝访问由客户端提供给所请求资源的结果。

您的图片网址可能正确,但您无权访问该网址。

http://ia.media-imdb.com/images/M/MV5BMTk3OTIzODUyOV5BMl5BanBnXkFtZTYwNjgxNjA5._V1_SX300.jpg

答案 1 :(得分:0)

似乎不是一个角度问题,就像使用API​​一样,

403 when trying to download a remote image

403 error for loading image from http and not https

Confused about how to handle CORS OPTIONS preflight requests

因此,似乎需要根据此答案中的第一个链接帖子修改标题...

但是我检查了int thread_count=8; for(int i=1;i<100000;i++) { boost::thread t1(do_work,i,std::ref(record)); } 是在图像请求中定义的,它是......甚至尝试对User-Agent中的一个网址进行硬编码,然后给出相同的403 ...

我有同事用相同的api构建相同的app而没有问题!