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] Que se passe t'il quand une requête est envoyé ?


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Par défaut [AJAX] Que se passe t'il quand une requête est envoyé ?
    Bonjour,

    Une question basique mais nécessaire pour ma compréhension de Ajax : quand on envoie une requete comme dans l'exemple ci-dessus, comment le navigateur va pouvoir retourner l'information (donc le contenu du fichier reponse.txt) au bon objet XMLHttpRequest ? C'est le truc qui m'échappe, comment un évènement asynchrone va pouvoir retrouver l'objet qu'il a appelé, ce qu'il doit faire ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        xhr.open("GET", "http://gael-donat.developpez.com/web/intro-ajax/reponse.txt", false);
        xhr.send(null);
     
        alert(xhr.responseText);
    Je n'ai peut-être pas utilisé les bons termes car je débute dans l'Ajax.

    Merci d'avance

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    Citation Envoyé par whitespirit Voir le message
    C'est le truc qui m'échappe, comment un évènement asynchrone va pouvoir retrouver l'objet qu'il a appelé, ce qu'il doit faire ?
    la notion synchrone/asynchrone ne concerne que le navigateur (qui sait, lui, qu'il attend une réponse), pas le serveur.
    L'échange (et donc la réponse) est traité comme une requête http classique par le serveur ...

    EDIT : tu peux d'ailleurs taper l'adresse appelée par Ajax directement dans la barre d'adresse du nav et obtenir la même réponse : c'est un bon test pour débugger la partie PHP de ton traitement (pour vérifier que le responseText te renvoie effectivement ce que tu attendais)

    A+

  3. #3
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 15
    Par défaut
    Moi aussi j'ai une petite question,
    En ajax, si on veut transformer une requete asynchrone en requete synchrone comment fait on? Est ce que c'est en jouant avec les attributs de la requete (onreadystatechange) ?
    Pour ma part, je fais une XHR appellant un script php (écriture dans un fichier). Est ce que la réponse de cette requete sera les echo que tu peux mettre dans ton script php ?
    Merci de m'aider .

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par Stumi Voir le message
    En ajax, si on veut transformer une requete asynchrone en requete synchrone comment fait on? Est ce que c'est en jouant avec les attributs de la requete (onreadystatechange) ?
    Pour ma part, je fais une XHR appellant un script php (écriture dans un fichier). Est ce que la réponse de cette requete sera les echo que tu peux mettre dans ton script php ?
    Mieux vaut de bons tutos que de longs discours

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 360
    Par défaut
    Pour simplifier, lorsque j'envoie une requête ajax, je demande le fichier .php défini dans l'objet XHR, et suivant qu'il s'agit d'un post/get celui va s'exécuter comme n'importe quel fichier.

    A ce moment mon navigateur attends un "header" qui a été défini et qui sera retourner par le serveur (correspondant au résultat transmis par le fichier php appelé) ??

    Lorsque le navigateur reçoit un "header", il regarde a quel ... heu... ben quand il fait pour savoir à qui appartient le résultat à transmettre ?

    Ces questions peuvent sembler inutile mais mon cerveau fonctionne d'une façon bizarre : j'ai vraiment (ce n'est pas un caprice) de comprendre comment ça fonctionne concrètement la transaction entre ajax et mon serveur web.

    Voilà, étant donné que je commence tout juste et malgré les tutoriels que j'ai pu exécuter je n'ai pas trouvé de réponse à ce sujet. Est-ce que tout ça est plus relié au protocole HTTP ? Il faut dire que concrètement je ne vois pas à quoi correspond une entête. Entre temps je vais me documenter dessus.

  6. #6
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par whitespirit Voir le message
    Lorsque le navigateur reçoit un "header", il regarde a quel ... heu... ben quand il fait pour savoir à qui appartient le résultat à transmettre ?
    Losque tu fais ton appel Ajax, tu instancies un objet XHR (tu peux même en avoir plusieurs en parallèle) : c'est lui qui permet au nav de renvoyer "la bonne réponse à la bonne question".
    Citation Envoyé par whitespirit Voir le message
    Voilà, étant donné que je commence tout juste et malgré les tutoriels que j'ai pu exécuter je n'ai pas trouvé de réponse à ce sujet.
    Cette réponse concernait Stumi, qui semble avoir besoin de lecture

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/03/2012, 07h46
  2. Réponses: 14
    Dernier message: 05/10/2011, 16h32
  3. Que se passe-t-il lorsqu'une boite de dialogue est ouverte ?
    Par isa911Bis dans le forum Agents de placement/Fenêtres
    Réponses: 19
    Dernier message: 25/08/2011, 10h48
  4. Que se passe-t-il quand on clique le bouton précédent?
    Par Invité dans le forum Webdesign & Ergonomie
    Réponses: 2
    Dernier message: 24/02/2009, 01h30
  5. que se passe t il quand ...
    Par -<R1>- dans le forum Débuter
    Réponses: 2
    Dernier message: 28/06/2004, 14h00

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