0

I'm making a website where I need to get all people who are registered to an event but every time I make the xhr request the code execute and do not wait the xrh response, that's cause a lot of trouble in the following code...

let inscrit = new XMLHttpRequest();
let methode = "GET";
let url = "php/getInscrit.php";
let asynchronous = true;

inscrit.open(methode, url, asynchronous);
inscrit.timeout = 4000;
inscrit.onload = function () {
  let people;

  if (this.readyState == 4 && this.status == 200) {
    people = JSON.parse(this.responseText);
  }
};
inscrit.send(null);
return people;

Sorry for my bad English and ty

MarioG8
  • 5,122
  • 4
  • 13
  • 29
PascheK7
  • 11
  • 3

1 Answers1

0

It seems like the problem is in "onload", which is only called one time, which could be right at the beginning before it's fully loaded, instead you should do everything in the onreadystatechange callback, so for example:

  let inscrit = new XMLHttpRequest();
    let methode = "GET";
    let url = "php/getInscrit.php"
    let asynchronous = true;

    inscrit.open(methode, url, asynchronous);
    inscrit.timeout = 4000;
    inscrit.onreadystatechange = function() {


        let people ;

        if (this.readyState == 4 && this.status == 200) {

            people = JSON.parse(this.responseText);


        }
    }
    inscrit.send(null);
    return people ;