I'm having an error when using several ajax calls, I put this in an array and I need capture when finish all. My code is this:
var userId=[1,2,3];
var ajaxR = [];
for (var us in userId) {
    var usId = userId[us];
    ajaxR.push($.ajax({
        type: "GET",
        async: true,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        url: "myurl",
        data: { id: usId }   
    }));
}
$.when.apply($, ajaxR).always(function (e) {
    //Here I have the error but arguments it's ok
    var objects = arguments;      
});
When I debbug this code I have an error in $.when function:
Uncaught TypeError: Cannot read property '0' of undefined
Update:
My complete function is it:
 function UserFromWS(userId) {
        var users = [];
        var ajaxR = [];
        for (var us in userId) {
            var usId = userId[us];
            ajaxR.push($.ajax({
                type: "GET",
                async: true,
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                url:  "url",
                data: { id: usId }   
            }));
        }
        $.when.apply($, ajaxR).always(function (e) {
            var obj = arguments;
            return obj;
        }); 
        // return users;
    }
The error disapear if I put return users; in end of function. But it finish returning users array empty, before return obj. I need call the function in this way:
var allUsers = UserFromWS ([1,2,3]);
The function should return obj in $.when promise.
 
     
     
    