par
Aureusms » 06 juil. 2016, 08:56
Bonjour à tous,
Actuellement je lance des Ajax() en cascade grâce à la fonction complete() :
$.ajax ({
url : "ajax.php",
data : {a : "essai", b : "essai2"},
type : "post",
cache : false,
complete : function (xhr, result) {
var reponse = xhr.responseText;
$.ajax ({
url : "ajax.php",
data : {c : "essai3", d : "essai4"},
type : "post",
cache : false,
complete : function (xhr, result) {
var reponse2 = xhr.responseText;
}
});
}
});
Cela fonctionne pour 2,3 fonctions en cascade mais quand on en a plus, cela devient très dur à suivre...
Je voudrais savoir (comme je ne connais pas la librairie Jquery par coeur), s'il existe un moyen de créer une "pile" de fonction Ajax qui s'effectuerait sous conditions : (voir exemple)
var fonction1 = $.ajax ({
url : "ajax.php",
data : {a : "essai", b : "essai2"},
type : "post",
cache : false,
complete : function (xhr, result) {
var reponse = xhr.responseText;
}
});
var fonction2 = $.ajax ({
url : "ajax.php",
data : {c : "essai3", d : "essai4"},
type : "post",
cache : false,
complete : function (xhr, result) {
var reponse2 = xhr.responseText;
}
});
=> si fonction1() est terminé correctement, lancer fonction2()
J'ai découvert la fonction Deferred() mais je n'ai pas compris, malgré mes recherches comment elle pouvait m'aider dans ce cas. Est ce que quelqu’un aurait une idée ?
Bonjour à tous,
Actuellement je lance des Ajax() en cascade grâce à la fonction complete() :
[html]$.ajax ({
url : "ajax.php",
data : {a : "essai", b : "essai2"},
type : "post",
cache : false,
complete : function (xhr, result) {
var reponse = xhr.responseText;
$.ajax ({
url : "ajax.php",
data : {c : "essai3", d : "essai4"},
type : "post",
cache : false,
complete : function (xhr, result) {
var reponse2 = xhr.responseText;
}
});
}
});[/html]
Cela fonctionne pour 2,3 fonctions en cascade mais quand on en a plus, cela devient très dur à suivre...
Je voudrais savoir (comme je ne connais pas la librairie Jquery par coeur), s'il existe un moyen de créer une "pile" de fonction Ajax qui s'effectuerait sous conditions : (voir exemple)
[html]var fonction1 = $.ajax ({
url : "ajax.php",
data : {a : "essai", b : "essai2"},
type : "post",
cache : false,
complete : function (xhr, result) {
var reponse = xhr.responseText;
}
});
var fonction2 = $.ajax ({
url : "ajax.php",
data : {c : "essai3", d : "essai4"},
type : "post",
cache : false,
complete : function (xhr, result) {
var reponse2 = xhr.responseText;
}
});
=> si fonction1() est terminé correctement, lancer fonction2()[/html]
J'ai découvert la fonction Deferred() mais je n'ai pas compris, malgré mes recherches comment elle pouvait m'aider dans ce cas. Est ce que quelqu’un aurait une idée ?