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] Erreur 404 avec Ajax


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 8
    Points : 4
    Points
    4
    Par défaut [AJAX] Erreur 404 avec Ajax
    Bonsoir,

    Je suis un débutant en Ajax (histoire de tester !) et je n'arrive pas a faire fonctionner rien qu'un petit exemple d'utilisation de AJAX.

    J'utilise l'édition Express de Visual Web Developer 2005.

    Voici mon code :
    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
    <html>
        <head>
            <title>Utilisation de Ajax</title>
     
            <script language = "javascript">
            var XMLHttpRequestObject = null;
     
            if (window.XMLHttpRequest) {
            XMLHttpRequestObject = new XMLHttpRequest();
            }
            else
                if (window.ActiveXObject)
                {
                    XMLHttpRequestObject = new ActiveXObject(Microsoft.XMLHTTP);
                }
     
            function getData()
            {
                if(XMLHttpRequestObject)
                {
                    var obj = document.getElementById(targetDiv);
                    XMLHttpRequestObject.open("GET", "data.xml");
                    XMLHttpRequestObject.onreadystatechange = function()
                    {
                            alert("XMLHttpRequestObject.readyState : " +  XMLHttpRequestObject.readyState);
                            if (XMLHttpRequestObject.readyState == 4)
                            {
                                alert("XMLHttpRequestObject.status : " + XMLHttpRequestObject.status);
                                if (XMLHttpRequestObject.status == 200)
                                {
                                    obj.innerHTML = XMLHttpRequestObject.responseText;
                                }
                                else
                                    alert("Erreur : " + XMLHttpRequestObject.responseText);
                            }
                    }
                    XMLHttpRequestObject.send(null);
                }
            }
            </script>
        </head>
        <body>
     
            <form>
            <input type = "button" value = "Afficher le Message" onclick ="getData();">
            </form>
     
            <div id="targetDiv">
            <p>Les données vont s afficher là.</p>
            </div>
     
        </body>
    </html>
    le fichier data.xml se trouve sous la meme arborescence que le fichier de code ci-dessus.
    Dans mon fichier "data.xml" se trouve :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?xml version="1.0" encoding="utf-8"?>
    <toto>
    Ajax fonctionne !    
    </toto>
    Je fais afficher les valeurs de XMLHttpRequestObject.readyState et de XMLHttpRequestObject.status, la valeur de readyState passe bien à 4.
    Par contre la valeur de status reste à 404. Autrement dit, il ne trouve pas mon fichier data.xml.

    Sauriez vous comment résoudre ce problème?

    Merci par avance pour vos réponses et idées.

    GuileIzback.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Il va chercher le fichier data.xml dans le même répertoire que celui de ta page HTML (et pas celui de ton javascript), puisque tu n'as pas précisé de répertoire. Fais bien attention à garder exactement le même nom de fichier (si c'est des minuscules, garde les minuscules)

  3. #3
    Membre à l'essai
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 13
    Points : 14
    Points
    14
    Par défaut
    Si tu teste ton code en local, ton XMLHttpRequestObject.status ne vaudra jamais 200, car il n'y a pas de réponse du serveur en local.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par islacoul12
    Si tu teste ton code en local, ton XMLHttpRequestObject.status ne vaudra jamais 200, car il n'y a pas de réponse du serveur en local.
    Merci islacoul12, c'est bien ce que je pensais, en fait...
    N'y a t il pas un moyen de tester les propriétés d'AJAX ?

    Faut il créer son propre serveur? si oui, comment en créer un rapidement ?(en effet, c'est simplement pour tester ce fameux AJAX )

    N'y a t il pas des frameworks, plugins, emulateurs, etc ...?
    Autrement dit comment faites-vous pour tester "XMLHttpRequest"?

    Merci par avance.

    GuileIzback

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Il existe un serveur Apache/PHP/Mysql qui est dans un seul paquet : http://www.easyphp.org/ .

    Ce dont tu as besoin au minimum pour faire de l'AJAX, c'est Apache. Lis les tutoriels sur le site.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par dingoth
    Il existe un serveur Apache/PHP/Mysql qui est dans un seul paquet : http://www.easyphp.org/ .

    Ce dont tu as besoin au minimum pour faire de l'AJAX, c'est Apache. Lis les tutoriels sur le site.
    Merci Dingoth,
    Je connais deja le pack EasyPhp, j'ai deja testé mon exemple avec.
    mais, pourquoi cela ne fonctionnerait il pas avec IIS?

    GuileIzback.

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Ca peut fonctionner avec IIS sans problème. Si je ne l'ai pas mentionné, c'est que moi-même, j'utilise Apache.

Discussions similaires

  1. [référencement]Erreur 404 avec le crawler de ask.com
    Par PerfectSlayer dans le forum Référencement
    Réponses: 1
    Dernier message: 07/05/2007, 09h12
  2. [PHP-JS] erreur 404 avec menu déroulant
    Par midiweb dans le forum Langage
    Réponses: 5
    Dernier message: 15/02/2007, 15h56
  3. erreur 404 avec apache
    Par pepper18 dans le forum Apache
    Réponses: 4
    Dernier message: 02/11/2006, 19h02
  4. [AJAX] Un chat avec AJAX
    Par Death83 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/03/2006, 15h08
  5. [AJAX] upload fichiers avec AJAX
    Par jibouze dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 08/12/2005, 21h04

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