2013-05-17 49 views
0

我在下面的代碼中使用了我的網站上的導航系統,目的是在div中打開HTML頁面(InnerHTML),但是當我點擊我的一個菜單鏈接我收到JavaScript通知「問題:」(請參閱​​JavaScript代碼塊中的「其他」)。這個代碼對於SEO方面是固定的(好的)。使用JavaScript代碼進行導航(InnerHTML)

有人可以告訴我它的問題是什麼?我試圖儘可能地保留代碼。

非常感謝您的幫助!

JavaScript代碼:

function processAjax(url) 
{ 
    if (window.XMLHttpRequest) { // Non-IE browsers 
     req = new XMLHttpRequest(); 
     req.onreadystatechange = targetDiv; 
     try { 
      req.open("GET", url, true); 
     } 
     catch (e) { 
      alert(e); 
     } 
     req.send(null); 
    } else if (window.ActiveXObject) { // IE 
      req = new ActiveXObject("Microsoft.XMLHTTP"); 
      if (req) { 
       req.onreadystatechange = targetDiv; 
       req.open("GET", url, true); 
       req.send(); 

    } 
} 
return false; 
} 

function targetDiv() { 
    if (req.readyState == 4) { // Complete 
      if (req.status == 200) { // OK response 
       document.getElementById("containerDiv").innerHTML = req.responseText; 
      } else { 
      alert("Problem: " + req.statusText); 
      } 
    } 
} 

在HTML體:

<a onclick="return processAjax(this.href)" href="example.html">CLICK ME</a> 
<div id="containerDiv"></div> 
+0

'這個代碼對於SEO方面是固定的(好的)'這根本不是真的。你的代碼與SEO沒有任何關係,只不過它保留了'href's。 – SLaks

+0

如果您收到「問題」警報,您的AJAX請求會觸及某種HTTP錯誤。這可能是一個權限問題,或者你可能有錯誤的路徑/網址。 –

回答

0

服務器返回一個非200響應。如果您使用的是像Firebug,Chrome Developer或IE Developer這樣的調試器,請檢查網絡選項卡以查看您的XHR的確切位置以及響應內容。

+0

SLaks我沒有解釋自己好,我比這種方式我可以生成一個谷歌站點地圖XML文件,所以我的鏈接將顯示 – shmnsw