begin process at 2010 03 18 00:23:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

AJAX, le status de mon objet est toujours égal à "0", please help me !


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

AJAX, le status de mon objet est toujours égal à "0", please help me !

lundi 22 juin 2009 à 14:18:09 | AJAX, le status de mon objet est toujours égal à "0", please help me !

romtrico064649

Bonjour,
Je désire effectuer une request de type XMLHTTPRequest sur un fichier XML.
Voici mon soucis, je m'explique :
Le code ci dessous contient deux fonction pour lire un fichier XML, la premiere en utilisant le XMLDOM de microsoft et la seconde en utilisant le XMLHTTPRequest.
La premiere fonctionne trés trés bien (XMLDOM ).
La seconde en revanche ....
L'objet xmldoc est bien un objet ([objet]).
En revanche, xmldoc.getElementsByTagName("book")[0] est null, comme si il n'existait pas ce noeud.
Le status de mon objet xhr est toujours égal à 0.
le fichier XML est le même pour les deux fonction, encodé en utf-8. Il s'agit du fichier XML télécharger sur le site W3School, donc valide.

voici le code html :

<html>
<head>
<metahttp-equiv="Content-Type"content="text/html"; charset="iso-8859-1">
<title>TEST AJAX</title>
<script>
function feeltestDom(){
var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
xmldoc.load("test.xml");
document.body.innerHTML = xmldoc.getElementsByTagName("book")[0].firstChild.text;//.getElementsByTagName("h1")[0].firstChild.text;
}


function feeltest(){
var xhr = false;
if(location.protocol=="file:"){
if(!xhr)try{ xhr=new ActiveXObject("MSXML2.XMLHTTP"); }catch(e){xhr=false;}
if(!xhr)try{ xhr=new ActiveXObject("Microsoft.XMLHTTP"); }catch(e){xhr=false;}
}

xhr.onreadystatechange = function() {
   if(xhr.readyState == 4){
var xmldoc = xhr.responseXML;
document.body.innerHTML = xmldoc.getElementsByTagName("book")[0];//.firstChild.text;
alert(xhr.status); //toujours égal à 0
   }
}
xhr.open("GET", "test.xml", true);
xhr.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xhr.send(null);
}
</script>
</head>
<bodyid="main"onload="feeltestDom();">

</body>
</html>

voici le fichier xml :
Code xml :

<?xmlversion="1.0"encoding="utf-8"?>
<!-- Edited by XMLSpy -->
<bookstore>
<bookcategory="COOKING">
<titlelang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<bookcategory="CHILDREN">
<titlelang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<bookcategory="WEB">
<titlelang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>
<bookcategory="WEB">
<titlelang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>

Auriez vous une solution pour me sortir de se problème? Je ne comprends pas pourquoi le status de mon objet xhr est toujours égal à 0 et non à 200??

Merci par avance pour votre précieuse aide, j'en peux plus ! !


RomTrico
lundi 22 juin 2009 à 15:09:34 | Re : AJAX, le status de mon objet est toujours égal à "0", please help me !

Bul3

Membre Club


Bonjour,


plusieurs erreurs, y compris dans le structure du xml
"extrait", uniquement pour FF ( comme tu dis qu'avec IE ça baigne,
mais franchement... je doute ! )

<html>
    <head>
        <title>TEST AJAX</title>
    </head>
    <body>
        <script>
        xhr=new XMLHttpRequest();
        xhr.onreadystatechange = function()
        {    if(xhr.readyState == 4)
            {    var xmldoc = xhr.responseXML;
                alert(xmldoc.getElementsByTagName("bookcategory")[0].firstChild.nodeValue);
            }
        }
        xhr.open( "GET", "xml.xml", true);
        xhr.send(null);
    </script>
    </body>
</html>

et le xml :

<?xml version="1.0" encoding="utf-8"?>
<bookstore>
    <book>
            <bookcategory>COOKING</bookcategory>
            <title>Everyday Italian</title>
            <author>Giada De Laurentiis</author>
            <year>2005</year>
            <price>30.00</price>
    </book>
    <book>
        <bookcategory>CHILDREN</bookcategory>
        <title>Harry Potter</title>
        <author>J K. Rowling</author>
        <year>2005</year>
        <price>29.99</price>
    </book>
</bookstore>


au fait,

pour ie
     xmlD=new ActiveXObject('Microsoft.XMLDOM');
     xmlD.onreadystatechange = function ()
     {    if ( xmlD.readyState == 4 )
          {    xmlFin(xmlD); }
     }
     xmlD.load(ficXml);
pour FF,opera,k-meleon
    xmlD = document.implementation.createDocument('', '', null);
    xmlD.onload = function()
       {   xmlFin(xmlD);   }
    xmlD.load(ficXml);
et pour safari, iron (chrome)  :
    xmlD = new XMLHttpRequest();
    xmlD.onreadystatechange = function()
    {    if( xmlD.readyState == 4 )
         {   xmlFin(xmlD.responseXML); }
    }
    xmlD.open( 'GET', ficXml, true );
    xmlD.send( '' );

                  
Cordialement [mon Site] [M'écrire] Bul

lundi 22 juin 2009 à 15:25:11 | Re : AJAX, le status de mon objet est toujours égal à "0", please help me !

Bul3

Membre Club
>>fichier XML télécharger sur le site
>> W3School,donc valide.
j'avions point lu ! ben non justement !
déjà, si on ferme une balise, elle devrait être ouverte !
lundi 22 juin 2009 à 16:08:27 | Re : AJAX, le status de mon objet est toujours égal à "0", please help me !

kankrelune

Membre Club
ouep je pense qu'ils se sont plantés et voulaient faite

<bookcategory="COOKING">

>>

<book category="COOKING">

@ tchaOo°

l'homme est un loup pour l'homme... .. .
lundi 22 juin 2009 à 16:09:22 | Re : AJAX, le status de mon objet est toujours égal à "0", please help me !

kankrelune

Membre Club
D'ailleurs c'est peut être pas le fichier xml mais plutot le forum qui fait sauter certains espaces... .. .

@ tchaOo°

l'homme est un loup pour l'homme... .. .
lundi 22 juin 2009 à 16:21:31 | Re : AJAX, le status de mon objet est toujours égal à "0", please help me !

Bul3

Membre Club
tu as sans doute raison kankrelune !
j'avais cru voir <bookcategorie>....</book> et autre joyeusetés
"le reste du message reste valable"
j'évite d'ailleurs les <balise param=valeur>...., par goût ?
>>plutot le forum qui fait sauter certains espaces
plutôt le copié/collé depuis leur outil de développement
ver ce forum. un "éditeur classique" ça baigne.

lundi 22 juin 2009 à 16:26:58 | Re : AJAX, le status de mon objet est toujours égal à "0", please help me !

Bul3

Membre Club
je préfère, nettement :
    <book>
        <category>COOKING</category>
        <title>Everyday Italian</title>
        <lang>en</lang>
        <author>Giada De Laurentiis</author>
        <year>2005</year>
        <price>30.00</price>
    </book>
à
<book category="COOKING">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
</book>

c'est plus "homogène"
( je n'ai pas dit "inverti ennuie" hein ! )
mais, chacun ses goûts, et la caravane passe

lundi 22 juin 2009 à 16:42:41 | Re : AJAX, le status de mon objet est toujours égal à "0", please help me !

Bul3

Membre Club
Réponse acceptée !
et finalement, en relisant,
il ne parle ni de FF ni d'erreur ????

>>pour lire un fichier XML, la premiere en utilisant le XMLDOM de microsoft
>>et la seconde en utilisant le XMLHTTPRequest.
bon, si c'est avec IE pour le 2ème, on a vu il n'y a pas 2 jours
que XMLHTTPREquest en local ne convenait, il faut
utiliser new ActiveXObject("Microsoft.XMLHTTP")
( sur un site ou en émulation serveur easyphp, wamp... ça baigne
  sans plus d'infos, je dirais bien un bug ?!? )

pour FF ça baigne et les autres, ça baigne

il y a bien les 3 manières citées de faire
( même si xmlhttprequest fonctionne aussi avec FF )

et ça >>alert(xhr.status); //toujours égal à 0
ben... oui : tout est ok.



Cette discussion est classée dans : objet, xml, status, xhr, xmldoc


Répondre à ce message

Sujets en rapport avec ce message

ecrire un fichier [ par daeron ] Bonjour, j'ai récupéré un flux xml grâce à l'objet xmlhttprequest.Maintenant j'aimerai l'écrire dans un fichier de type xml pour l'utiliser plus tard. VBScript --> Javascript [ par rvanbellingen ] Est-ce que quelqu'un serait me donner un exemple pour faire passer ce script VB provenant d'une page html en un script javascript pour le rendre plus xhr_object.status et FF -- HELP Please.... [ par nien ] J'en deviens fou ...pour quoi diable FireFox emet un bug au moment de récupéré la valeur xhr_object.status ???(inutile de préciser que tout ca marche Javascript/XML/XSL [ par bewonder ] Bonjour,Je souhaite juste charger un document XML et un document XSL afin de les fusionner pour afficher le résultat dans un div.Mais je butte sur un Affichage XML via Ajax d'une et une seule balise, dans ma page html [ par yourchenko ] Bonjour! j'éssai depuis 3 jours de faire fonctionner le script qui aurait pour objectif d'afficher la balise n0num dans ma page web. j'ai un premier récuperer les données d'un fichier XML dans une zone de saisie [ par fabricioliking ] bonjoursVoila j'ai besoin d'un tout petit coup de patte, je récupére les données d'un fichier xml, j'arrive à les afficher par le bied d' "alert" mais remplir mon fichier xml pour ensuite l'afficher dans mon formulaire [ par fabricioliking ] Re bonjour, me revoila encore pour mes petites contines en ajax. Voila j'arrive via mon code à afficher par le bied d'un alert le contenue d'un fichie Envoi de code HTML en Ajax (méthode POST) et éditeurs WYSIWYG [ par mioumiounorris ] Bonjour ! Je suis en train de réaliser la partie admin d'un site, et j'utilise TinyMCE afin de pouvoir publier mes articles. Je me suis mis en tête de Comment verifier ces champs ? [ par StevenL86 ] Hello. Bon voilà,j'ai élaborer un formulaire dont je n'arrive pas à recuperer les valeurs des champs via ma fonction javascript (qui est bien appelée, Fonction php couplée à ajax : Ca ne fonctionne pas pourquoi ??? [ par StevenL86 ] Hello, Me revoilà avec mes cas foireux [^^happy8]. Ce coup çi,j'ai écrit un script php que voici :[code=php] $var=$_GET['id']; $val=$var+1; $texte=$_G


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,811 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales