【问题标题】:Cannot GET image from HTTP request无法从 HTTP 请求获取图像
【发布时间】:2012-12-11 05:19:17
【问题描述】:

我已经检查了图像并且它们确实存在于服务器上。

我已经用这段代码在 CSS 规则中包含图像

.Invite{background: url("../images/interface/Shop/Btn_Ad_Invite_all.png") 0px 0px;}
.Invite:hover{ background-position-x: -86px; }
.Invite:active{ background-position-x: -172px; }

<div class="Button Invite" onclick="invite()"></div>

我正在尝试使用 jQuery Ajax get 并尝试在浏览器控制台中使用此代码将图像注入正文

$.get("https://fb.spot-the-differences.com/test/images/interface/Shop/Btn_Ad_Invite_all.png");
$.get("images/interface/Shop/Btn_Ad_Invite_all.png");
$("body").append("<img src='https://fb.spot-the-differences.com/test/images/interface/Shop/Btn_Ad_Invite_all.png'/>");
$("body").append("<img src='images/interface/Shop/Btn_Ad_Invite_all.png'/>");

我所有的浏览器(IE、Firefox、Chrome)都说无法获取图像而没有响应。 我本地网络中的其他计算机可以毫无问题地获取图像。

如果我复制图片网址并粘贴到浏览器地址,我可以毫无问题地接收图片:

谁能解释一下为什么会发生这种情况以及如何解决这个问题我不希望这种情况发生在我网站上的客户身上。

我将不胜感激任何形式的对话或帮助。

当我尝试将有问题的图像的路径更改为任何不准确的路径时,我发现了可疑的事情,但我仍然得到状态 failed 而不是 404 not found 像这样

<img src='http://google.Shop/Btn_Ad_Invite_all.png'/> 

jsfriddle我看到 IMG4 和 IMG2 一样什么都没有出现,甚至图像损坏图标

我需要一些建议,非常感谢。

【问题讨论】:

  • 为什么要使用 AJAX 调用来获取图像?
  • 如果要动态加载图片,只需将img元素的src属性设置为图片的URL即可。浏览器会处理剩下的事情。
  • JQuery 的 $.get() 并不是为了这个目的。根据他们的文档,$.get() 用于 xml、json、script 或 html。
  • 感谢建议,我直接从 css 规则下载它,但它与 ajax 调用一样失败,我无法使用 src 属性,因为图像有悬停和活动鼠标。
  • 我并不是真的要动态加载图像我的图像。而且我在同一目录中只有 2 个有问题的图像和其他图像响应 OK。我尝试使用 ajax 发出 HTTP GET 请求,除了我的 2 个有问题的图像外,它响应正常。请提供帮助,非常感谢。

标签: html ajax jquery get httprequest


【解决方案1】:

您似乎使用了与网页不同的协议(HTTPS 与 HTTP),这可能会导致浏览器出现跨域安全问题。尝试任一:

 $.get("http://fb.spot-the-differences.com/test/images/interface/Shop/Btn_Ad_Invite_all.png");

或者这应该与页面协议无关

$.get("/test/images/interface/Shop/Btn_Ad_Invite_all.png");

如果您的目标是动态显示图像,我确实同意一些 cmets 虽然设置 图片标签的 src 属性并使用 css 定位精灵。例如:

 $('img').attr('src', '/test/images/interface/Shop/Btn_Ad_Invite_all.png');) 

【讨论】:

  • 仍然失败我什至尝试像这样直接将图像附加到正文 $("body").append("fb.spot-the-differences.com/test/images/interface/Shop/…); 仍然得到失败的响应
  • 尝试 $(body).append("") 看起来该路径可能无法解析。或者你可以做完整的fb.spot-the-differences/test/images...
  • 全部失败我太累了,这个问题只发生在我的电脑上。我真的很想知道原因
  • jsfiddle.net/fQK5K 虽然我这样做我仍然看不到和加载 IMG2 但 IMG3 工作正常。
  • 我可以看到 IMG2。您是否有可能导致此问题的防病毒/间谍软件?
猜你喜欢
  • 1970-01-01
  • 2017-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多