2014-06-22 69 views
-1

這是我製作XHR請求的第一個代碼,試圖調試它,但無法找到故障所在。 我正在使用谷歌瀏覽器和wamp服務器。我正在使用的URL是我自己的計算機中的HTML文件此代碼對於XHR有什麼問題?

對於幫助我解決問題的麻煩,我感到抱歉。 我期待什麼結果?

我希望我的瀏覽器會opent本地主機/ CSS /邊距/ margin.html

但是,什麼情況是,頁面只是一片空白,當我點擊「點擊我!」。

<!DOCTYPE html> 
<html lang="en"> 
<head> 
     <meta charset="UTF-8"> 
    <title>Project 1</title> 
    <script type="text/javascript"> 
     var a; //Creating an object for the request named "a" 
     if(window.XMLHttpRequest) 
     { 
      a = new XMLHttpRequest(); 

     } 
     else if(window.ActiveXObject) 
     { 
      a= new ActiveXobject("Microsoft.XMLHTTP"); 
     } 
     function response() //This is the function that I would use as callback function 
     { 
      if(a.readyState==4) 
      { 
       if(a.status==200) 
       { 
        alert("perfect"); 
       } 
       else 
       { 
        alert("Getting improper response"); 
       } 
      } 
      else 
      { 
       alert("Not getting response"); 
      } 
     } 
     function open() //Making the request 
     { 
      a.open('GET', "localhost/CSS/Margins/margin.html", true); 
      a.onreadystatechange = response; 
      a.send(null); 
     } 


    </script> 
    <span onclick="open();">Click me!</span> //This onclick event would call the function that would make the request. 
</head> 
<body> 

</body> 
</html> 
+0

由於您沒有解釋您期望得到的結果,究竟是什麼問題以及未提供任何上下文信息,因此無法幫助您。 –

回答

0

感謝您的幫助。

我正在犯的主要錯誤是打開函數的名稱。這是一個關鍵字。 一旦我改變它,瀏覽器開始響應警報框。

我很感謝您的幫助。

PS-我使用:

a.open( 「GET」, 「//localhost/CSS/Margins/margin.html」,TRUE);

0

您的代碼很好,但您輸入的URL不是全局的,而是指向當前頁面的相對路徑。

更改爲a.open('GET', location.protocol+"//localhost/CSS/Margins/margin.html", true);

+0

location.protocol +「// localhost」必須是url。 location.protocol給出「http:」 – Jebin

+0

*「你輸入的URL不是全局的,而是指向當前頁面的相對路徑」*使用相對URL有什麼問題? –

+0

相對URL很好,但是由於他想使用本地主機作爲主機,該代碼並不適用於他。 – Rliger