Ajax GET抛出404错误在Chrome控制台



这并不影响我的页面或输出,但我想知道是否有人可以解释为什么会发生这种情况:

这是我的Ajax:

$(document).ready(function(){
$archive = "/videoarchive/";
$.ajax({
  url: "http://mysite.com/videoarchive/",
  cache: false
}).done(function( html ) {
    $div = $('.archive', $(html));
    $img = $div.first().find('img').attr('src');
    $link = $div.first().find('a').attr('href');
    alert($img);
    $('#featureVideo').append('<img src="http://mysite.com/videoarchive/'+$img+'" alt="image" />');
    $('#playVideo').append('<a class="extLink" href="http://mysite.com/videoarchive/'+$link+'" target="_blank" title="fancybox link"><img src="images/playButton.png" alt="image" /></a>');
    $('#archiveLinks').append('');
});
});

一切都很好,但是当我检查元素并查看控制台时,来自传入HTML的所有图像都将路径添加到我的网站。下面是一个例子:

加载资源失败:服务器响应404 (Not Found)>>> http://mysite.com/webapps/r2ewg/images/diversity_scanline.jpg

我只是好奇是否有一种方法来摆脱这些,或者如果我被他们困住了。或者如果我做错了什么…

在Chrome和IE8中工作正常…输出将只能在IE8的内网站点上看到…

如果我能提供更多的细节,请告诉我。

首先,你应该包装html两次吗?而不是做:

$div = $('.archive', html);

可能发生的情况是,当您从ajax调用获得响应时,您将获得一堆HTML,而URL (http://mysite.com/webapps/r2ewg/images/diversity_scanline.jpg)是其中的一部分。

如果该HTML块被附加到DOM中,浏览器将尝试获取图像。浏览器可能正在尝试加载图像并得到404。它甚至可能与您的jQuery没有任何关系。

最新更新