2014-06-22 3 views
-1

Ceci est ma première requête XHR de code, en essayant de le déboguer mais je ne peux pas trouver où est la faute. J'utilise google chrome et wamp server. L'URL que j'utilise est un fichier HTML dans mon propre ordinateurQuel est le problème avec ce code pour XHR?

Je suis désolé de la difficulté de m'aider à résoudre mon problème. À quel résultat est-ce que je m'attends?

Je pense que mon navigateur ne opent localhost/CSS/marges/margin.html

Mais ce qui se passe est que la page va juste vide dès que je clique sur « moi! ».

<!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

Il est impossible de vous aider puisque vous n'avez pas expliqué quel résultat vous attendez, quel est exactement le problème et n'avez fourni aucune information contextuelle. –

Répondre

0

Merci pour votre aide.

La principale erreur que je faisais était le nom de la fonction open. C'est un mot-clé. Une fois que je l'ai changé, le navigateur a commencé à répondre avec les alertes.

Je suis reconnaissant pour votre aide.

PS- J'utilisé:

a.open ("GET", "//localhost/CSS/Margins/margin.html", true);

0

Votre code est correct, mais l'URL que vous avez entrée n'est pas globale, mais indique un chemin relatif de la page en cours.

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

+0

location.protocol + "// localhost" doit être l'URL. location.protocol donne "http:" – Jebin

+0

* "l'URL que vous avez entrée n'est pas globale, mais indique un chemin relatif de la page en cours" * Et quel est le problème avec l'utilisation des URL relatives? –

+0

Les URL relatives sont correctes, mais ce code n'a pas fonctionné pour lui puisqu'il voulait utiliser localhost comme hôte. – Rliger