Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/03/2008, 20h04   #1
Invité de passage
 
Inscription : novembre 2007
Messages : 12
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 12
Points : 4
Points : 4
Par défaut [Débutant] 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 :
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>
IanBussieres est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2008, 16h50   #2
Membre du Club
 
Inscription : juillet 2007
Messages : 70
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Meurthe et Moselle (Lorraine)

Informations forums :
Inscription : juillet 2007
Messages : 70
Points : 63
Points : 63
Envoyer un message via MSN à _phoenix_
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
_phoenix_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2008, 21h32   #3
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 313
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 313
Points : 8 596
Points : 8 596
Que vaut req ? Comment est construite la variable ? C'est dans exampleutils.js ?
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/03/2008, 13h11   #4
Membre chevronné
 
Avatar de Herode
 
Développeur Web
Inscription : mars 2005
Messages : 774
Détails du profil
Informations personnelles :
Localisation : France, Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mars 2005
Messages : 774
Points : 797
Points : 797
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.
Herode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/03/2008, 10h54   #5
Invité régulier
 
Inscription : mars 2007
Messages : 5
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 5
Points : 8
Points : 8

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!
blstef est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h21.


 
 
 
 
Partenaires

Hébergement Web