2010-10-22 160 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