1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
var AjaxStack = Class.create( {
initialize : function() {
this.ajaxCalls = [];
},
push : function(url, params) {
this.ajaxCalls.push({url: url, params: params}) ;
},
run : function() {
var ajaxOpts = this.ajaxCalls.shift();
if(ajaxOpts) {
new Ajax.Request(ajaxOpts.url, {
parameters: ajaxOpts.params,
onSuccess: this.run.bind(this),
onFailure:function() {alert("Erreur: " + ajaxOpts.url);}
});
}
}
} );
// ...
var ajaxStack = new AjaxStack();
ajaxStack.push("/une/url", {foo:"bar"});
ajaxStack.push("/une/autre/url", {jambon:"fromage"});
ajaxStack.run(); |
Partager