una consulta, estoy trabajando con jquery ajax y necesito hacer las peticiones asincronas, son como 4 peticiones, las 3 "dependen" de la primera, pero no logro hacer que una vez lista la primera, pase con las demás, que ya no importaría el orden.
tengo este mecanismo:
Código Javascript:
Ver original
$.when( miarray = $.getValues('source/script.php',$.parseJSON('{"var1":"'+val1+'","var2":"'+val2+'"}')) ).done(function ( miarray) { alert(miarray); //----> esto sale null var uno = miarray.uno; //---> aca sale error no esta definido miarray o algo asi var dos = miarray.dos; siguienteArray = $.getValues('source/script2.php',$.parseJSON('{"var1":"'+val1+'","var2":"'+val2+'"}')) //los demas });
el getValues va fuera del document ready asi:
Código Javascript:
Ver original
jQuery.extend({ getValues: function(path,data) { var result = null; $.ajax({ dataType: "json", url: path, type: 'POST', data: data, async: true, success: function(data){ //alert(JSON.stringify(data)); $('#wait').hide(); result = data; }, error: function(jqXHR, textStatus, errorThrown) { alert('E '+jqXHR.responseText); } }); return result; } });
se supone que al usar when-done deberia esperar a que se haga la primer llamada no?
o lo estoy interpretando erroneamente?
saludos y gracias anticipadas