Formation par Olivier Duffez

Formation au référencement par Olivier Duffez, créateur de WebRankInfo !
Une formule efficace alliant théorie et pratique, avec une haute disponibilité des intervenants
Cette formule a déjà convaincu plusieurs centaines d'entreprises, pourquoi pas vous ?
Réservez vite votre place en ligne (convention possible pour imputer sur le budget formation)

Formation référencement Marseille

AJAX : xhr.send(); qui ne marche pas :(

Poster un nouveau sujet Imprimer cette discussion    Forum -> Développement d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
Mitsu
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 18 Déc 2006
Messages: 109

URL permanente de ce messagePosté le : Ven Mar 28, 2008 16:30    Sujet du message: AJAX : xhr.send(); qui ne marche pas :(

Bonjour,
Voila j'ai un petit problème en ajax et j'espère que vous allez pouvoir m'aider à le résoudre :

j'envoie des donnée en POST dans l'appel d'une page seulement cela ne fonctionne pas, ma page reçois rien Sad.

Code:

function showContent(page,id){
   idHtml=id;
   document.getElementById(idHtml).innerHTML = '<img src="img/loader.gif" alt="Chargement..." />';
   switch(page){
            /*************** ACCUEIL - INFORMATIONS ***********************/
      case "pRef" : xhr.open("POST", "pRef.php", true);
         getValues();
         POST='montant2='+montant2+'&duree2='+duree2+'&mens2='+mens2+'&age='+age+'&ancien='+ancien;
         POST+='&banque='+banque+'&nbDebit='+nbDebit+'&epargne='+epargne+'&soldeF='+soldeF;
         alert(POST);
         xhr.send(POST);
         xhr.onreadystatechange = insertContent;
      break;   
            /****************** EN COURS ****************************/
     default : xhr.open("GET", "introuvable.php", true);
         xhr.send(null);
         xhr.onreadystatechange = insertContent;
   }
}



Voici la fonction que j'utiliser pour appeler mes pages, et la page pRef.php ne reçois rien, j'affiche dans cette page du texte, ce texte apparait niquel par contre je fait aussi un print_r de $_POST et la j'ai un tableau vide Sad, En ce qui concerne la varriable POST elle en javascript elle contien bel et bien des élément, car j'ai fait un affichage avec un alert de cette variable et tout marche niquel.

Voici ci dessous le code complet de mon fichier javascript :
Code:

var xhr;
var POST="";
var idHtml="";
/*****************RECUPERATIONS DES VARIABLES*****************/
var montant2;
var mens2;
var duree2;
var age;
var ancien;
var banque;
var nbDebit;
var epargne;
var soldeF;
function getValues(){
   montant2=document.getElementById('montant2').value;
   mens2=document.getElementById('mens2').value;
   duree2=document.getElementById('duree2').value;
   age=document.getElementById('age').value;
   ancien=document.getElementById('age').value;
   banque=document.getElementById('banque').value;
   nbDebit=document.getElementById('nbDebit').value;
   epargne=document.getElementById('epargne').value;
   soldeF=document.getElementById('soldeF').value;
}
try{
   xhr = new XMLHttpRequest();
}catch(e){
   var XmlHttpVersions = new Array('MSXML2.XMLHTTP.6.0',
                           'MSXML2.XMLHTTP.5.0',
                           'MSXML2.XMLHTTP.4.0',
                           'MSXML2.XMLHTTP.3.0',
                           'MSXML2.XMLHTTP',
                           'Microsoft.XMLHTTP');
   
   for (i=0 ; i<XmlHttpVersions.length && !xhr ; i++){
      try{
         xhr = new ActiveXObject(XmlHttpVersions[i]);
      }catch(e){
         
      }
   }
   
   if(!xhr) alert("Votre ordinateur n'est pas compatible avec Ajax");
}

function showContent(page,id){
   idHtml=id;
   document.getElementById(idHtml).innerHTML = '<img src="img/loader.gif" alt="Chargement..." />';
   switch(page){
            /*************** ACCUEIL - INFORMATIONS ***********************/
      case "pRef" : xhr.open("POST", "pRef.php", true);
         getValues();
         POST='montant2='+montant2+'&duree2='+duree2+'&mens2='+mens2+'&age='+age+'&ancien='+ancien;
         POST+='&banque='+banque+'&nbDebit='+nbDebit+'&epargne='+epargne+'&soldeF='+soldeF;
         alert(POST);
         xhr.send(POST);
         xhr.onreadystatechange = insertContent;
      break;   
            /****************** EN COURS ****************************/
     default : xhr.open("GET", "introuvable.php", true);
         xhr.send(null);
         xhr.onreadystatechange = insertContent;
   }
}

/*******************************************************************************************
                  Insertion du contenu HTML dans le div adapté
*******************************************************************************************/
function insertContent(){
   if(xhr.readyState == 4 && xhr.status == 200){
      if (xhr.responseText != ""){
         document.getElementById(idHtml).innerHTML = xhr.responseText ;
      }
   }
}


En esperant que vous allez pouvoir m'aider.

Merci d'avance.
 
Mitsu
Jeviensderio
WRInaute accro
WRInaute accro

Inscrit le: 29 Sep 2006
Messages: 1209

URL permanente de ce messagePosté le : Ven Mar 28, 2008 17:52    Sujet du message: AJAX : xhr.send(); qui ne marche pas :(

Possible que le résultat soit lu avant que la commande ne soit exécutée par le serveur: on est en mode asynchrone.

Il faudrait savoir ce que l'on attend exactement du programme.
 
Jeviensderio Visiter le site web du posteur
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Développement d'un site Web Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

Définitions :

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort