Récupérer une variable Javascript avec AJAX

Récupérer une variable Javascript avec AJAX - HTML/CSS - Programmation

Marsh Posté le 09-02-2011 à 23:00:38    

Bonjour,
 
J'utilise cette fonction pour envoyer un nom de fichier à ajax.php :
 

Code :
  1. function toto(monfichier)
  2. {
  3. var xhr = getXMLHttpRequest();
  4. xhr.onreadystatechange = function() {
  5.  if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
  6.   var voll = xhr.responseText;
  7.  }
  8. };
  9. xhr.open("POST", "ajax.php", true);
  10. xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded" );
  11. xhr.send("Fichier="+monfichier);


 
Pour info :

Code :
  1. function getXMLHttpRequest()
  2. {
  3. var xhr = null;
  4. if (window.XMLHttpRequest || window.ActiveXObject) {
  5.  if (window.ActiveXObject) {
  6.   try {
  7.    xhr = new ActiveXObject("Msxml2.XMLHTTP" );
  8.   } catch(e) {
  9.    xhr = new ActiveXObject("Microsoft.XMLHTTP" );
  10.   }
  11.  } else {
  12.   xhr = new XMLHttpRequest();
  13.  }
  14. } else {
  15.  alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest..." );
  16.  return null;
  17. }
  18. return xhr;
  19. }


 
Le fichier ajax.php utilise le nom du fichier pour l'ouvrir et y faire des traitements (c'est un fichier xml) :
 

Code :
  1. $res_php ="";
  2. $fichier = $_POST['Fichier'];
  3. $dom = new DomDocument();
  4. $dom->load($fichier);
  5. $liste_trkpt = $dom->getElementsByTagName('trkpt');
  6. $i=1;
  7. foreach($liste_trkpt as $trkpt)
  8. {
  9.     if ($trkpt->hasAttribute("lat" ))
  10.     {
  11.      $res_php .="new GLatLng(".$trkpt->getAttribute("lat" ).", ";
  12.     }
  13. if ($trkpt->hasAttribute("lon" ))
  14.     {
  15.      $res_php .=$trkpt->getAttribute("lon" )." ),";
  16.     }
  17. $i=$i+1;
  18. }
  19. echo "$res_php";


 
Mon problème : j'aimerais récupéré en variable ce que me retourne ajax.php (c'est-à-dire le contenu de $res_php) pour pouvoir le réutiliser plus tard dans ma fonction toto. Avez-vous une idée ?
 
Merci

Reply

Marsh Posté le 09-02-2011 à 23:00:38   

Reply

Marsh Posté le 10-02-2011 à 00:38:02    

Re,
 
Bon en fait j'ai trouvé la solution : faire appel à une fonction de callback pour traiter mes données.
Un très bon tuto ici : http://www.siteduzero.com/tutoriel [...] #ss_part_5 rubrique "Récupération des données".
 
Par contre j'ai un nouveau problème : j'ai donc récupéré les données que ma généré ajax.php dans une variable javascript. Lorsque je fais un alert(mavariable);, les données sont conformes. Par contre lorsque je les utilise pour cette fonction :
 

Code :
  1. var poly1 = new GPolyline([mavariable], "#ff0000", 2.5, 0.5, polyOptions);


 
Celle-ci ne marche pas. Par contre si je copie/colle le contenu du alert(mavariable) à l'endroit souhaité, ça marche.
A croire que ce n'est pas comme ça qu'on utilise une variable javascript.
 
Une idée ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed