2011-08-04 23 views
1

我有一個頁面,我從ajax請求中拉出一些html,然後將其插入div。該html正在進入正確的div,除了圖像沒有顯示出來,但它的替代文字是。下面是HTML:設置innerHTML - 圖像沒有顯示,但ALT是

<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"); 
     } 
    } 
} 
+0

我們可以看看AJAX請求代碼嗎? – LesterDove

+0

也許'esl.jpg'的URL可能需要一個前導'/'? 'images/esl.jpg'將查找相對於您正在查看的頁面的圖像子目錄。右擊「查看圖像」實際顯示圖像? –

+0

@Drav我添加了領先的'/',沒有任何改變。然而,當我右鍵單擊「查看圖像」我得到一個禁止:你沒有權限訪問/ images/esl.jpg'任何想法,爲什麼這可能是?我的權限不夠好。 – Joe

回答

2

我會檢查該圖像是在這些senarios確實可見。檢查的一個好方法是右鍵單擊並選擇「查看圖像...」。然後會要求您的瀏覽器專門請求該圖像。

如果你得到Not Found在這臺服務器上沒有找到請求的圖像images/esl.jpg,那麼你的網址是不正確的。

如果您獲得Forbidden您沒有權限訪問此服務器上的圖像/ esl.jpg。那麼這是一個權限問題。正如Endophage所說的那樣,您將希望爲Apache進程設置正確的文件和目錄權限,以便能夠查看該映像。

0

經常使用AJAX當你忘記在您的圖像相對於在文檔。試着從根部位置引用的圖像,這樣的..

../images/esl.jpg

+0

我想到了這一點,並嘗試它(不工作)之前我張貼,謝謝你的迴應,但! – Joe

0

在我看來,圖像實際上是在資產/圖像/ esl.jpg,而不是圖像/ esl.jpg

考慮在您的網頁,並坐在你刮的頁面坐在之間的區別...