Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

Je récupère grâce à l'objet XMLHttpRequest le contenu d'un fichier .json qui se trouve dans un dossier se nommant data. Au préalable j'enregistre oEventsTemplate dans le scope global. La fonction onreadystatechange me sert pour lire et parser le contenu du fichier .json.

var oEventsTemplate = []
var rawFile = new XMLHttpRequest()
rawFile.overrideMimeType("application/json")
rawFile.open("GET", 'data/events.json', true)
rawFile.onreadystatechange = function ()
{
    if (rawFile.readyState === 4 && rawFile.status == "200") {
        oEventsTemplate = JSON.parse(rawFile.responseText)
    }
}
console.log(oEventsTemplate)
rawFile.send(null)

Ce que je veux

Je souhaite récupérer dans une variable se nommant oEventsTemplate le contenu du fichier .json dans le but d'afficher des événements grâce à la librairie javascript CalenStyle.

Ce que j'obtiens

Quand je fais un console.log dans la fonction onreadystatechange j'ai les bonnes données mais qu'en je fait celui-ci dans le scope global juste après l'éxécution de la fonction il me renvoie un tableau vide.

1 réponse


Balsakup
Réponse acceptée

Salut, le JS est asynchrone, ton console.log est donc exécuté avant le onreadystatechange