web-dev-qa-db-ja.com

jquery ajaxの投稿が成功した後、RedirectToActionが機能しませんか?

以下は私のページをリダイレクトしません:MVCコードは次のとおりです。

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

これがajaxの投稿です:

   $.support.cors = true;

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

投稿は成功し、GoHomeアクションを実行すると、Home ControllerのIndexアクションにリダイレクトされません。

42
xaisoft

AJAX投稿からリダイレクトすることはできません。ただし、ブラウザをリダイレクトしたいURLを返し、Javascriptからリダイレクトできます。

コントローラー

[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