J'utilise .ajax $() pour interroger une méthode d'action toutes les 5 secondes comme suit:
$.ajax({
type: 'GET', url: '/MyController/IsReady/1',
dataType: 'json', success: function (xhr_data) {
if (xhr_data.active == 'pending') {
setTimeout(function() { ajaxRequest(); }, 5000);
}
}
});
et l'action ActionResult:
public ActionResult IsReady(int id)
{
if(true)
{
return RedirectToAction("AnotherAction");
}
return Json("pending");
}
je devais changer le type de retour d'action à ActionResult en Afin d'utiliser RedirectToAction (à l'origine, c'était JsonResult et je retournais Json(new { active = 'active' };
), mais il semble avoir du mal à rediriger et rendre la nouvelle vue depuis le rappel de succès $ .ajax(). J'ai besoin de rediriger vers "AnotherAction" à partir de cette publication ajax interrogation. La réponse de Firebug est la vue de "AnotherAction", mais ce n'est pas le rendu.
trouvé quelque chose de similaire sur un autre poste après une recherche exhaustive. la seule différence était qu'elle utilisait window.location.replace à la place. Merci! –