J'ai ce petit script jquery qui ne fonctionne pas si je supprime la partie 'async: false' ... Et je ne comprends pas pourquoi (la partie alert() est là juste pour vérifier si ça marche ou pas). Je suppose que cela fonctionnerait de manière asynchrone, mais ce n'est pas le cas. Quelqu'un peut-il m'expliquer pourquoi? Et que dois-je changer pour le rendre asynchrone?Script jQuery supposé fonctionner en mode asynchrone mais fonctionne uniquement en synchronisation? Pourquoi?
$(document).ready(function(){
var artistName = new Array();
var artistPlaycount = new Array();
$('#inputForm').submit(function(){
var userName = $('#username').attr('value');
var amount = $('#amount').attr('value');
userName = "someUsername";
$.ajax({
type: "POST",
url: "prepXML.php",
data: "method=getartists&user="+userName+"&amount="+amount,
dataType: "xml",
async:false,
success: function(xml){
var i = 0;
$("artist",xml).each(function(){
artistName[i] = $(this).find("name").text();
artistPlaycount[i] = $(this).find("playcount").text();
i++;
});
}
});
});
alert(artistName[2]); //or any other iteration number
});
merci
Supprimer "async: false" pour le rendre asynchrone. Votre question n'est toujours pas claire. – Chris