在javascript中从网页调用MVC方法

时间:2014-04-03 11:03:50

标签: javascript jquery asp.net ajax asp.net-mvc

我目前有一个ASP.NET MVC应用程序,在一个页面上我有以下Ajax调用:

$.ajax({
        url: "/Home/GetAuthCode/",
        type: "GET",
        contentType: 'application/json',

        success: function () {
        }
    });

这在我的ASP应用程序中调用ActionResult方法:

public ActionResult GetAuthCode()
    {
        //Do Stuff
        Return View();
    }

我希望一旦方法具有'Done Stuff'就导航到视图但是它不会返回到视图但是一旦完成就返回到ajax调用。

如何从网页调用该方法并允许它重定向到指定的视图,因为ajax调用似乎没有这样做。

4 个答案:

答案 0 :(得分:1)

如果你真的需要在javascript中进行重定向,那么使用:

window.location.href = '/Home/GetAuthCode/';

答案 1 :(得分:0)

如果您尝试导航到新页面,那么根本不要使用AJAX调用,只需创建一个路径并转到它。

<a href="/Home/GetAuthCode">I just did something and went to the returned view.</a>

答案 2 :(得分:0)

您可以简单地重定向ajax

的成功功能
$.ajax({
        url: "/Home/GetAuthCode/",
        type: "Post",


        success: function (data) {
window.location.href= data.Url;

        }
    })
控制器中的

public ActionResult GetAuthCode()
    {
        //Do Stuff
        return Json(new { Url = "urlsing"});
    }

答案 3 :(得分:0)

$.ajax({
         url: '@Url.Action("GetAuthCode", "Home")',
         data: { },
         type: "GET",
         contentType: 'application/json',
         success: function () 
         {
            if(result.yourValidationIsOk)
            {
                document.location.href = '@Url.Action("RedirectAction", "Home")';
            }
            else
            {
                alert("error occured");
            }
         }
      });