IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] Objet XMLHttpRequest, status ne retourne rien


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 12
    Points : 10
    Points
    10
    Par défaut [AJAX] Objet XMLHttpRequest, status ne retourne rien
    D'abord, soyez gentils, je suis un débutant dans l'unviers AJAX, et je ne suis pas un expert en JavaScript nonplus. Je développe habituellement en .NET, mais là j'ai mon patron qui me fait faire une recherche sur AJAX, alors je dois m'y mettre!

    Donc, mon problème est que lorsque j'utilise la fonction ci-dessous, je reçois une réponse "There was a problem retrieving the XML data:". Prenez note que le req.Status est vide ou nulle...

    Ça fait près d'une demi-journée que je consacre à chercher une solution, mais rien n'y fait.

    Quelqu'un saurait sur quelle piste me lancer? Quelles pourraient être les sources d'erreur? Merci à l'avance.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
        <head>
            <title>Example 1</title>
            <style type="text/css">
                div.notes
                {
                    border: 1px solid black;
                    padding: 10px;
                }
            </style>
            <script type="text/javascript" src="exampleutils.js"></script>
            <script type="text/javascript">
                // <![CDATA[
     
                /**
                 * Handler for server's response to notes.xml request.
                 * Notes are pulled from notes.xml and replace the
                 * contents of the DIV with id 'notesSection'.
                 */
                function notesResponseHandler()
                {
                    // Make sure the request is loaded (readyState = 4)
                    if (req.readyState == 4)
                    {
                        // Make sure the status is "OK"
                        if (req.status == 200)
                        {
                            var swappableSection = document.getElementById('notesSection');
                            var notes = req.responseXML.getElementsByTagName('note');
                            var str = '';
                            for(i=0; i < notes.length; i++)
                            {
                                var noteNode = notes.item(i);
                                if(noteNode != null && noteNode.hasChildNodes())
                                {
                                    str += noteNode.getAttribute('name') + ': ';
                                    str += noteNode.firstChild.nodeValue + '<br />';
                                }
                            }
                            swappableSection.innerHTML = str;
                        }
                        else
                        {					
    		           alert("There was a problem retrieving the XML data:" + req.statusText);
                        }
                    }
                }
     
                // ]]>
            </script>
        </head>
        <body>
            Click <a href="javascript: xmlGet('notes.xml', notesResponseHandler);">here</a>
            to get the contents of <code>notes.xml</code> from the server.
            <br />
            <div class="notes" id="notesSection"></div>
        </body>
    </html>

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 70
    Points : 67
    Points
    67
    Par défaut
    Bonjour,

    Un conseil, penches toi du côté des framework javascript :

    Par exemple, pour ne citer que ceux là :

    - Prototype,
    - JQuery,
    - ...

    Ces framework te permettent de faciliter la création / personnalisation d'une requête ajax, et c'est surtout cross-browser (censé fonctionner sur la plupart des browsers modernes).

    De plus, c'est assez simple à prendre en main

  3. #3
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Que vaut req ? Comment est construite la variable ? C'est dans exampleutils.js ?

  4. #4
    Membre éprouvé Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Points : 933
    Points
    933
    Par défaut
    Si ton serveur ne te renvoie pas un code 200, c'est qu'il y a un problème dans les traitements côté serveur. Essaye de voir quel est le code d'erreur qu'il t'envoie, ça pourrait t'aiguiller.

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 6
    Points : 10
    Points
    10
    Par défaut

    Ce que tu donnes comme info est un peu juste pour t'aider...
    Il manque l'appel de la connection XMLHttpRequest().
    Que fait la fonction xmlGet() exactement?

    Je conseil vivement l'utilisation de Firebug sous Firefox pour voir ta requète XMLHttpRequest...

    Bon courage.
    Cordialement.
    Stef!

Discussions similaires

  1. [AJAX] Question AJAX / objet XMLHttpRequest
    Par michael rossi dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 07/05/2008, 13h31
  2. [AJAX] multiples objets XMLHttpRequest
    Par fabrice91 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/06/2007, 14h20
  3. [AJAX] les constructeurs de l'objet xmlHttpRequest
    Par inter_amine dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 15/12/2006, 21h06
  4. [AJAX] Objets XMLHttpRequest <-> Sql
    Par kij dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 05/11/2006, 12h41
  5. [AJAX] documentation de l'objet XMLHttpRequest
    Par linkin_khalid dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/10/2006, 17h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo