Récupération donnée Ajax, qui ne marche pas, qui ne marche pas

Résolu
Leo98 -  
 Leo98 -
Bonjour, j'essaye faire ça, mais ça ne marche pas, je comprends qu'il y a un problème synchrone/asynchrone, mais j'ai besoin faire, et en plus, je ne dois pas utiliser then ou autre chose, j'ai besoin avoir le contenu dans la variable.
Si vous connaissez comment faire, s'il vous plaît, aidez moi, merci par avance pour votre future aide.

function getData(url) {
    var xhr = new XMLHttpRequest;

    xhr.open("GET", url);
    xhr.send();
    xhr.onreadystatechange = function(){
        if (this.readyState == 4 && this.status == 200) {
return xhr.responseText;
      };
   }
}

let datas = getData('http://localhost/jsTest/test.php');

console.log(datas); // Ça doit afficher le contenu test.php

EDIT : Ajout des balises de code

Cordialement,

1 réponse

jordane45 Messages postés 38484 Date d'inscription   Statut Modérateur Dernière intervention   4 746
 
Bonjour,

Pourquoi pas
    xhr.open("GET", url, false); // `false` makes the request synchronous


et à la place du onreadyState
if (xhr.status === 200) {
  return xhr.responseText;
}
1
Leo98
 
Bonjour, merci pour votre réponse rapide, et merci pour cette solution, ça fait plusieurs jours que recherche.
Par contre est ce que ça peut poser un problème, voici le message d'erreur : '[Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.' ?

Une question, est ce qu'on peut faire la même chose sur la fonction fetch ?


Merci, par avance, vous m'avez beaucoup aidé.


Cordialement,
0
jordane45 Messages postés 38484 Date d'inscription   Statut Modérateur Dernière intervention   4 746 > Leo98
 
0
Leo98 > jordane45 Messages postés 38484 Date d'inscription   Statut Modérateur Dernière intervention  
 
Merci beaucoup :)
0