这不影响我的页面或输出,但我想知道是否有人可以解释为什么会发生这种情况:
这是我的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(未找到)&gt;&gt;&gt; http://mysite.com/webapps/r2ewg/images/diversity_scanline.jpg
我很好奇是否有办法摆脱这些或者如果我坚持使用它们。或者,如果我做错了什么......
在Chrome和IE8中运行良好... 输出只能在Intranet站点的IE8中看到......
如果我能提供更多详情,请告诉我?
答案 0 :(得分:1)
首先,你应该两次包装HTML吗?而是做:
$div = $('.archive', html);
答案 1 :(得分:1)
可能发生的事情是,当您从ajax调用中获得响应时,您将获得一堆HTML,并且该URL(http://mysite.com/webapps/r2ewg/images/diversity_scanline.jpg)是其中的一部分。
如果将这一块HTML附加到您的DOM,浏览器将尝试抓取该图像。浏览器可能正在尝试加载图像并获得404.它甚至可能与您的jQuery根本没有任何关系。