2010-10-22 11 views
0

J'essaie d'apprendre à utiliser ajax et je n'arrive pas à comprendre pourquoi le code ci-dessous ne fonctionne pas. Tout ce qu'il fait est d'abord créer un objet XMLHttpRequest valide lorsque la page se charge d'abord, puis insère du texte dans une section de la zone div de pages.Je n'arrive pas à obtenir ce code AJAX à exécuter

Demo.js

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

J'appelle cela en utilisant les éléments suivants:

Index.html

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

J'essaie ensuite de charger un texte à partir d'un fichier dans la page en utilisant la fonction JS suivante:

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(); 
     } 
    } 
} 

ci-dessus est appelé en utilisant le code html suivant:

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

Quelqu'un peut-il voir le problème qui provoque le script de ne pas charger et insérer les données du. txt dans la section?

Répondre

2

Vous utilisez un class sur l'élément:

<div class="page_Disp"> 

Mais essayez de l'obtenir par id:

document.getElementById("page_Disp") 

Vous avez donc besoin de le changer à un id pour l'obtenir peuplé:

<div id="page_Disp"> 
1

Je m'attendrais à ce que votre demo.js ressemble e ce

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(); 
} 

Sinon, le ajaxRequest rien ne sera jamais d'envoyer la demande, car il était à l'intérieur du code qui a répondu à la demande.

+0

Ah, merci beaucoup pour cela. Je n'ai pas remarqué ça. –