it-swarm.com.de

RedirectToAction funktioniert nach erfolgreichem JQuery-Ajax-Post nicht?

Folgendes leitet meine Seite nicht weiter: Hier ist der MVC-Code:

    [HttpPost]
    public ActionResult GoHome()
    { 
         return RedirectToAction("Index", "Home");   
    }

Hier ist der Ajax-Beitrag:

   $.support.cors = true;

            $.ajax({
                type: "POST",
                url: "http://localhost/UserAccount/GoHome",
                dataType: 'json',
                crossDomain: true
            });

Der Beitrag ist erfolgreich und wird beim Aufheben der GoHome-Aktion nicht zur Index-Aktion des Home-Controllers umgeleitet.

42
xaisoft

Sie können nicht von einem AJAX Beitrag umleiten. Sie können jedoch die URL, zu der Sie den Browser umleiten möchten, zurückgeben und von Javascript umleiten.

Controller

[HttpPost]
public ActionResult GoHome()
{ 
     return Json(Url.Action("Index", "Home"));   
}

Javascript

$.ajax({
    type: "POST",
    url: "http://localhost/UserAccount/GoHome",
    dataType: 'json',
    crossDomain: true,
    success: function (data) {
        window.location.href = data;
    }
});
72
Tommy