11486 sujets

JavaScript, DOM et API Web HTML5

Bonjour ,
Je souhaite passer un tableau d'une page php vers une page javascript ,mon code marche bien, et le tableau s'affiche dans la console , mais le problème c'est que j'arrive pas à récupérer le tabelau (variableARecuperee) en dehors de la fonction .
Merci d'avance.

var requete = new XMLHttpRequest();
// Grâce à l'événement onLoad qui est appelé lors du chargement du script PHP, on peut récupérer la valeur dans le code JavaScript.
requete.onload = function(){
 // le tableau récupéré est stocké dans la variable variableARecuperee 
 variableARecuperee = this.responseText;
// j'affiche le tableau récupéré dans la console pour juste vérifier 
 console.log(variableARecuperee);
 };
 requete.open("get", "val_Commune_carte_chart.php", true); //True pour que l'exécution du script continue pendant le chargement, false pour attendre.
 requete.send();
Salut,

AJAX signifie Asynchronous JavaScript and XML. Le terme important est asynchrone. Cela signifie que le code de la fonction onload sera exécuté à un moment différent de l'ordre de lecture du code dans le fichier.

La méthode send appelle la page PHP, mais on ne sait pas quand elle répondra. Lorsque la page PHP renvoit ses données, la fonction passée à l'attribut onload est appelée. Autrement dit, le traitement du résultat ne peut pas être effectué ailleurs que dans la fonction passée à onload.

function responseHandling(data) {
  console.log(data);
  // traitement des données de la requête
  ...
}

var requete = new XMLHttpRequest();

requete.onload = function(){
  responseHandling(this.responseText)
};

requete.open("get", "val_Commune_carte_chart.php", true); 
requete.send();