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] reponse xml http request


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 745
    Par défaut [AJAX] reponse xml http request
    bonjour,
    voila je suis novice en ajax et je dois realiser une sorte de "passerelle", ou encore de service web qui me permettent dans un premier temps d'envoyer un id à un serveur distant pour qu'il me renvoie un flux xml que je dois ensuite parser.
    Donc pour l'instant sur ma page j'ai :
    <script language="text/JavaScrpit">

    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
    this.form.onload() = function(){
      		 var xhr_object = null;
              if(window.XMLHttpRequest) // Firefox
                  	xhr_object = new XMLHttpRequest();
               else if(window.ActiveXObject) // Internet Explorer
    				xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
               else  // XMLHttpRequest non supporté par le navigateur
                  	alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
                  		
     			 xhr_object.open("POST", "http://(...)/test.asp", true);
                
               xhr_object.onreadystatechange = function() {
               if(xhr_object.readyState == 4){
               		eval(xhr_object.responseText);
               }           xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
               var data = "Culture="escape(<%=Culture%>)+"&Enseigne=<%=session("enseigne")%>"; 
               xhr_object.send(data);
          }
    
      }
    </script>
    qui est un code qui semble fonctionner.

    Bref j'ai donc plusieurs question :

    1) a quoi correspond la ligne en rouge?
    2) je vais coder ma page http://(...)/test.asp en asp et donc comment me renvoyer les données sur ma page?
    3) et comment les parser?
    Wala j'espere avoir été assez clair, je me suis pas mal documenté mais les tuto sur le net sont surtout pour l'envoie de données, pas vraiment la récupération.
    D'avance merci!



    Et enfin si juste en locale j'ai une page "test.asp" sur ma page principale j'en fais un include et dans ma page test je fais juste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <%	
     response.write "l'enseigne est :"&request("Enseigne")
     %>
    , cela ne me renvoie rien...

  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
    Citation Envoyé par Alex35
    1) a quoi correspond la ligne en rouge?
    => dès que la réponse Ajax est entièrement reçue (readyState == 4), exécute la chaîne de caractères retournée en tant qu'instruction Javascript (eval() )
    2) je vais coder ma page http://(...)/test.asp en asp et donc comment me renvoyer les données sur ma page?
    => response.write("alert('toto');")
    3) et comment les parser?



    Et enfin si juste en locale j'ai une page "test.asp" sur ma page principale j'en fais un include et dans ma page test je fais juste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <%	
     response.write "l'enseigne est :"&request("Enseigne")
     %>
    , cela ne me renvoie rien...
    Parce que ce n'est pas une instruction JS (juste du texte).
    Tu le verra en faissant un alert(xhr_object.responseText) au lieu du eval() ...

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 745
    Par défaut
    justement c t ma question en fait, a quoi correspond le eval?


    Mais en tout cas merci de ces reponses de si bon matin

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 745
    Par défaut
    [QUOTE=E.Bzz]=> response.write("alert('toto');")
    QUOTE]
    mais cela me renvoie une alerte non?


    et enfin pourquoi un erreur à la ligne en rouge (objet attendu)???


    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
    <script language="javascript">
      function update( id, value ) {
        
          var xhr_object = null;
            	
          if(window.XMLHttpRequest) // Firefox
            xhr_object = new XMLHttpRequest();
          else if(window.ActiveXObject) // Internet Explorer
            xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
          else { // XMLHttpRequest non supporté par le navigateur
             alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
                  return;
           }
            
           xhr_object.open("POST", "test.asp", true);
            	
           xhr_object.onreadystatechange = function() {
             if(xhr_object.readyState == 4)
                eval(xhr_object.responseText);
               //alert(xhr_object.responseText);
             }
            
             xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
               var data = "Culture=" + id + "&Enseigne=" + value ;
               xhr_object.send(data);
            }
          }//Fin fonction
    </script>
     
    
    
    <body onload="update('<%=Culture%>',<%=Enseigne%>)" >

  5. #5
    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 Alex35
    justement c t ma question en fait, a quoi correspond le eval?
    Citation Envoyé par E.Bzz
    exécute la chaîne de caractères retournée en tant qu'instruction Javascript
    Si ton serveur fait un ton nav récupère "toto" : tu en fais ce que tu veux : comme une variable JS qui contiendrait "toto".
    Si ton serveur fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    response.write("alert('toto')")
    ton nav récupère alert('toto') : c'est alors une instruction JS, mais contenu dans une chaine de caractère. Tu peux l'interpréter (= l'exécuter) avec eval()

    et enfin pourquoi un erreur à la ligne en rouge (objet attendu)???
    Heu ... on va faire une chose à la fois, d'accord ?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 745
    Par défaut
    je nage completemet....

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 745
    Par défaut
    bon tu me dis tout de suite si j'abuse

    Mais pour l'instant en local je voudrais envoyer un id vi xmlhttprequest vers ma page test.asp et que ma page principal affiche cette valeur juste dans un textbox, ca ne me selmble pas trop complexe mais je n'arrive absolument a rien...

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

Discussions similaires

  1. xml http request
    Par djasedub dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 20/04/2015, 16h36
  2. [2k8]xml http request depuis un job SQL
    Par Monstros Velu dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/02/2011, 19h24
  3. 4 listes déroulantes liées (XML HTTP REQUEST)
    Par cyberdevelopment dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/05/2007, 13h38
  4. XML Http Request
    Par ouam81 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/06/2006, 19h25
  5. Code XML http REponse
    Par roudoudouduo dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/04/2006, 11h26

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