【发布时间】:2023-03-26 18:49:01
【问题描述】:
我有一个页面,我从 ajax 请求中提取一些 html,然后将其插入 div。 html 正确地进入了 div,只是图像没有显示出来,但它的 alt 文本显示了。这是html:
<div class='fltright'><img src='images/esl.jpg' alt="English as a Second Language"/></div><!-- end fltright --><p><span class='large'>Lorem ipsum dolor sit amet,</span> consectetur adipiscing elit. Cras tempor semper tortor. </p>
是否有任何原因导致图片不显示而替代文本显示?
AJAX 代码:
function getData(fileName){
fileLoc = encodeURI("assets/"+fileName+".html")
//alert(fileLoc);
request.onreadystatechange = processData;
request.open("GET",fileLoc, false);
request.send();
//alert(request.readyState);
//alert(response);
//alert(request.status);
}
function processData(){
if (request.readyState==4){
if (request.status==200){
try{
response = request.responseText;
document.getElementsByClassName('content')[0].innerHTML = response;
} catch(e){
alert("Error: " +e.description);
}
}
else{
alert("An error has occured making the request");
}
}
}
【问题讨论】:
-
我们可以看一下 AJAX 请求代码吗?
-
也许
esl.jpg的URL 可能需要前导/?images/esl.jpg将查找相对于您正在查看的页面的图像子目录。右键单击“查看图像”是否实际显示图像? -
@Drav 我添加了领先的
/并且没有任何改变。但是,当我右键单击“查看图像”时,我得到一个forbidden: you do not have permission to access /images/esl.jpg知道为什么会这样吗?我不擅长权限。 -
确保 /images 文件夹和其中的所有文件都可由 Apache(或您使用的任何服务器)访问。通常将权限设置为 755 就可以了。
-
嘿,我 +1 询问您是否可以实际查看图像;)(假设文件的位置不存在,或者它是权限问题..因此问!)