-
-
Save acataluddi/136671e38cdeb6498a962a5beba5e68d to your computer and use it in GitHub Desktop.
Demonstrate use of jQuery $.ajax with an array of jqXHR Deferred Promise objects passed to the $.when function.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Seeing this through jsfiddle? | |
// Get the source from github gist: https://gist.github.com/1873879 | |
// Create an array with two jqXHR objects from two separate $.ajax calls. | |
var arrJqx = []; | |
// This call has no delay and the response will come back from the server | |
// almost immediately. | |
arrJqx.push($.ajax ({ | |
url: "/echo/json/", | |
dataType: "json", | |
data: {json: "{\"text\": \"foo\"}"}, | |
type: "POST" | |
})); | |
// This call has a five second delay before the response is returned by the | |
// server. | |
arrJqx.push($.ajax ({ | |
url: "/echo/json/", | |
dataType: "json", | |
data: {json: "{\"text\": \"bar\"}", delay: 5}, | |
type: "POST" | |
})); | |
// The server response is not displayed in an alert until both calls return. | |
// The done function callback will iterate over the arguments passed to the | |
// function and output the JSON stringified result of the jqXHR object, there | |
// should be two alerts. | |
$.when.apply($, arrJqx).done(function(){ | |
$.each(arguments, function(index, arg) { | |
alert (JSON.stringify(arg[2])); | |
}); | |
}); | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment