2010-10-22 35 views
0

我想學習如何使用ajax,我似乎無法弄清楚爲什麼下面的代碼不起作用。它所做的首先是在頁面第一次加載時創建一個有效的XMLHttpRequest對象,然後將一些文本插入頁面div區域的一部分。不能看起來得到這個AJAX代碼運行

Demo.js

var ajaxRequest; // The variable that makes Ajax possible! 
function newRequest() 
{ 
    try 
    { 
     ajaxRequest = new XMLHttpRequest(); 
    .. 
    }  
} 

我把這種通過以下:

的Index.html

<script src="Demo.js" type="text/javascript"></script> 
</head> 
<body onload="newRequest()"> 
    <div class="page_Disp"> 
    </div> 

然後我試着從一個文件中加載一些文本使用以下JS功能進入頁面:

Demo.js

function openPage() 
{ 
    ajaxRequest.onreadystatechange=function() 
    { 
     if (ajaxRequest.readyState==4 && ajaxRequest.status==200) 
     { 
      document.getElementById("page_Disp").innerHTML=ajaxRequest.responseText; 
      ajaxRequest.open("GET","ajax_info.txt",true); 
      ajaxRequest.send(); 
     } 
    } 
} 

以上是使用下面的HTML代碼名爲:

<a onclick="openPage()">Load TXT</a> 

任何人都可以看到,使腳本無法裝入和插入來自數據的問題。 txt進入部分?

回答

2

您在元件上使用class

<div class="page_Disp"> 

但正試圖通過id得到它:

document.getElementById("page_Disp") 

所以,你需要將其更改爲id得到它的填充:

<div id="page_Disp"> 
1

我想你的Demo.js看起來像e

function openPage() 
{ 
    ajaxRequest.onreadystatechange=function() 
    { 
     if (ajaxRequest.readyState==4 && ajaxRequest.status==200) 
     { 
      document.getElementById("page_Disp").innerHTML=ajaxRequest.responseText; 
     } 
    } 
    ajaxRequest.open("GET","ajax_info.txt",true); 
    ajaxRequest.send(); 
} 

否則,ajaxRequest將永遠不會發送請求,因爲它位於響應請求的代碼中。

+0

啊,非常感謝。我沒有注意到。 – 2010-10-22 21:42:17