J'ai enregistré certaines clés d'URL de sujet dans localStorage et je veux maintenant les parcourir pour obtenir le contenu de chacune d'entre elles.Extension Chrome - URL XHR à partir d'un tableau
// Walk through saved subjects
allSubjects = JSON.parse(localStorage.getItem('subjects'));
var i = 0;
var ii = 0;
var xhrIn = [];
for (i = 0; i < allSubjects.length; i++) {
xhrIn[i] = new XMLHttpRequest();
xhrIn[i].open("GET", "https://myserver.com/" + allSubjects[i], true);
xhrIn[i].onreadystatechange = function() {
if (xhrIn[ii].readyState == 4) {
console.log(xhrIn[ii].responseText);
percents = Math.floor((((ii+1)/allSubjects.length)*100));
$("div#status").text('Downloading... ' + percents + '%');
// Final phase
if ((ii+1) == allSubjects.length) {
$("div#status").text("All downloaded and saved in console.");
}
ii++;
}
};
xhrIn[i].send();
}
}
Ce ne fonctionne pas, il ne saisit que la première URL, après que mon journal de la console indique que toutes les autres URL ont été contactés, mais xhrIn [i] .onreadystatechange fermeture n'a jamais été exécuté.
Cela semble un peu magique pour moi ... Quelqu'un peut-il m'expliquer ce comportement?
La commande n'est pas garantie, ii ce qui se passe à l'intérieur est erroné. – epascarello