ng-src 403 没有图像但路径正确
Posted
技术标签:
【中文标题】ng-src 403 没有图像但路径正确【英文标题】:ng-src 403 no image but correct path 【发布时间】:2015-11-13 14:16:34 【问题描述】:查看了一些相关的帖子:
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" >
其中movie
是JSON 而movie.Poster
是一个url 的字符串,似乎是这个错误的根源:
GET http://ia.media-imdb.com/images/M/MV5BMTk3OTIzODUyOV5BMl5BanBnXkFtZTYwNjgxNjA5._V1_SX300.jpg 403 (Forbidden)
因为错误中图片url好且完整,所以url字符串属性movie.Poster
好像已经及时传递给了ng-src ok/in。但是,许多看似相关的帖子都强调 JS 的异步性可能是原因(在这种情况下,movie.Poster
确实取决于 API 的响应)。
但是如果 url 在错误中,为什么 ng-src 在请求图像和显示任何内容时会出现问题?上面最接近我的问题的帖子能够加载图像并给出控制台错误...
也许最奇怪的是,如果我导航到图像 url(通过复制和粘贴该 url)到浏览器上的另一个选项卡,然后返回到我的应用程序并单击返回然后前进,图像加载时不会出错!
我试过ng-if="movie.Poster"
和...
$scope anotherVar = movie.Poster
在控制器中然后ng-src="anotherVar"
【问题讨论】:
图片url本身好像不存在。您是否尝试将其加载到浏览器中?我的意思是网址? 是的。图片网址很好。它加载图像。正如这里所解释的:***.com/questions/22958559/… 服务器出于安全原因拒绝了请求 【参考方案1】:好像不是角度问题,和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
所以,看来需要根据这个答案中的第一个链接帖子修改标题...
但我检查了User-Agent
是在对图像的请求中定义的,它是...甚至尝试对ng-src
中的一个网址进行硬编码,结果却是相同的 403...
我有同事用相同的 api 构建了相同的应用程序没有问题!
【讨论】:
【参考方案2】:您的错误是 403。 这表明服务器可以到达并理解请求,但拒绝采取任何进一步的行动。状态码 403 响应是由于某种原因,Web 服务器被配置为拒绝访问客户端请求的资源。
您的图片网址可能正确,但您无权访问。
http://ia.media-imdb.com/images/M/MV5BMTk3OTIzODUyOV5BMl5BanBnXkFtZTYwNjgxNjA5._V1_SX300.jpg
【讨论】:
以上是关于ng-src 403 没有图像但路径正确的主要内容,如果未能解决你的问题,请参考以下文章
Angularjs 中的iframe 标签 ng-src 路径 报错问题 解决办法
Sitecore IconCache 图像未显示,路径不正确
尽管将 AWS 静态文件路径添加到 CORS_ORIGIN_WHITELIST django-cors-headers,但出现 403 错误