Tengo una aplicación web que debe llamar al servidor varias veces. Hasta el momento, tenía una larga cadena de devolución de llamada anidada; pero me gustaría utilizar la funcionalidad when
, then
de jQuery. Sin embargo, parece que no puedo ejecutar nada nuevamente después de usar un then
.Encadenamiento de solicitudes ajax con el diferido de jQuery
$
.when ($.get('pages/run-tool.html'))
.then (function (args)
{
// This works fine
alert(args);
$('#content').replaceWith (args);
$('#progress-bar').progressbar ({value: 0});
})
.then ($.get('pages/test.html'))
.done (function(args)
{
// This prints the same as the last call
alert (args);
});
¿Qué estoy haciendo mal? Supongo que es un problema de alcance, ya que puedo ver que se está ejecutando la segunda llamada get
. El uso de dos variables diferentes args
no ayuda, ya que el argumento pasado a la función completada sigue siendo la primera solicitud get
.
¡Gracias, eso funciona! Lo aceptaré tan pronto como stackoverflow me permita :) – Anteru
jQuery encadenar todavía se ve horrible para mí – PHearst
@PHearst Tenga en cuenta que este método ahora está en desuso. – lonesomeday