2010-07-13 4 views
2

J'ai commencé à créer cette simple extension google chrome en javascript. Et au début du code je donne les résultats suivants:Utilisation de XMLHttpRequest dans une extension Google Chrome

var req = new XMLHttpRequest(); 

req.open(
    "GET", 
    "http://www.ldoceonline.com/dictionary/manga", 
    true); 

req.onreadystatechange(alert(req.readyState)); 

La valeur req.readyState est à 1, ce qui signifie que la page requise n'a pas été correctement tiré par les cheveux. Je suis un débutant à Javascript. Quel est le problème dans mon code?

Répondre

3

que diriez-vous quelque chose comme ça

var request = new XMLHttpRequest(); 

if (request == null){ 
     alert("Unable to create request"); 
    }else{ 

     var url = "http://www.ldoceonline.com/dictionary/manga"; 

     request.onreadystatechange = function() 
      { 
      if(request.readyState == 4) 
      { 
       LDResponse(request.responseText); 
      } 
     } 

     request.open("GET", url, true); 
     request.send(null); 
    } 

function LDResponse(response) 
{ 
// do stuff with the response 
} 

Bien sûr, cela est tout en supposant qu'ils vous donnent des données valides retour XML ou JSON-à-dire

+0

Merci, ça a marché! – thameera

1

Sur cette ligne:

req.onreadystatechange(alert(req.readyState)); 

alert() est appelé tout de suite, que je suis sûr que ce n'est pas votre intention. Il semble que vous souhaitiez attendre que l'événement onreadystatechange se déclenche, puis alertez le readyState. Si tel est le cas, essayez alors ceci:

req.onreadystatechange = function() { 
    alert(req.readyState); 
}; 

Et ne pas oublier req.send(null)!