29 votes

NETWORK_ERROR: XMLHttpRequest Exception 101

Je reçois cette erreur

NETWORK_ERROR: XMLHttpRequest Exception 101

lorsque vous essayez d'obtenir du contenu XML à partir d'un site. Voici mon code

 var xmlhttp; 
if(window.XMLHttpRequest)
        { 
            xmlhttp = new XMLHttpRequest();
        }
         if (xmlhttp==null)
        {
            alert ("Your browser does not support XMLHTTP!");
            return;
        }         

xmlhttp.onReadyStateChange=function() 
        {
                if(xmlhttp.readyState==4)
                {
                var value =xmlhttp.responseXML;
                alert(value);
                }
         } 
        xmlhttp.open("GET",url,false);
        xmlhttp.send();
        //alert(xmlhttp.responseXML);      
     }
xmlhttp.open("GET",url,false);
xmlhttp.send(null);
 

Quelqu'un a-t-il une solution?

24voto

Si l' url vous fournir est situé à l'extérieur de votre serveur, et le serveur ne vous a pas autorisé à envoyer des demandes, vous avez des problèmes d'autorisation. Vous ne pouvez pas accéder aux données à partir d'un autre serveur avec un XMLHttpRequest, sans que le serveur explicitement, vous permettant de le faire.

Voir cette question

Google a beaucoup d'informations sur cette trop.

4voto

Ian Points 49

La restriction selon laquelle vous ne pouvez pas accéder aux données d'un autre serveur avec XMLHttpRequest peut s'appliquer même si l'URL implique simplement un serveur distant.

Donc: url = "http://www.myserver.com/webpage.html"

peut échouer,

mais: url = "/webpage.html"

réussir - même si la demande est effectuée à partir de www.myserver.com

3voto

Ribo Points 1014

Demande annulée parce qu'elle a été mise en cache ou précédemment demandé? Il semble que le XMLHttpRequest Exception 101 erreur peut être levée pour plusieurs raisons. J'ai trouvé qu'il se produit lors de l'envoi d'un XMLHttpRequest avec la même URL, plus d'une fois. (Modification de l'URL en ajoutant un cache de vaincre l'absurdité de la chaîne à la fin de l'URL permet de demander à être répété. -- Je n'avais pas l'intention de répéter la demande, mais les événements le programme a provoqué de se produire et a abouti à cette exception).

Ne pas retourner le bon responseText ou responseXML dans le cas d'une demande répétée est un bug (probablement webKit).

Lorsque cette exception s'est produite, j'ai eu un événement onload avec readyState==4 et l'objet de demande d'état=0 et responseText=="" et responseXML==null. C'était une croix de domaine demande, le serveur l'autorise.

C'était sur un Android 2.3.5 système qui utilise webKit/533.1

Quelqu'un aurait de la documentation sur ce que l'exception est censé signifier?

2voto

Quelque chose comme ça s'est produit avec moi quand j'ai renvoyé un XML incorrect (j'ai mis un attribut dans le nœud racine). Au cas où cela aiderait quelqu'un.

2voto

Lian Points 18
 xmlhttp.open("GET",url, true);
 

définissez la partie asynchrone sur true

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X