如何重定向到$ .AJAX完整的视图 – asp.net mvc 3

好的..我希望在validation检查后使用$ .AJAX将用户重定向到一个peritcular视图…我该怎么做? 请求帮助……

这是我的$ .AJAX代码… EX:我希望用户重定向到“/ Home / Movies”控制器动作……

如果没有登录则停留在同一页面上……

 $('#btnLogin').click(function () { var email = $('#Email').val(); var Password = $('#Password').val(); var postdata = { "Email": email, "Password": Password }; $('.Loading').fadeIn(50); $.ajax({ url: '@Url.Action("CheckLogin","Home")', data: postdata, success: function (msg) { var data = msg.split(':'); $('#Result').html(data[0]); $('.Loading').fadeOut(50); }, error: function (data) { $('#Result').html(data); $('.Loading').fadeOut(50); } }); });  

这是我的控制器动作,用于检查登录详细信息…

  public ContentResult CheckLogin(Users checkuser) { if (db.CheckUserLoginDetails(checkuser.Email, checkuser.Password)) { return Content("Login Successful:" + checkuser.Email); } else { return Content("Login UnSuccessful"); } } 

另外如何将此视图的返回结果传递给另一个视图..在此例外,如果用户已登录,我想在重定向页面上显示他的电子邮件ID,这就是说“/ home / Movies”

提前thx

在ajax请求之前显示加载图像,并隐藏在successerror处理程序上。

Loading...

到您的标记中

 $('.loading').fadeIn(50); $.ajax({ url: '@Url.Action("CheckLogin","Home")', data: postdata, success: function (msg) { $('#Result').html(msg); $('.loading').fadeOut(50); }, error: function (data) { $('#Result').html(msg); $('.loading').fadeOut(50); } }); 

看一下jQuery中的ajaxStart()ajaxStop()事件处理程序。 您可以使用它们来显示和隐藏带有gif动画的图层。

http://api.jquery.com/ajaxStart/

http://api.jquery.com/ajaxStop/

使用beforSend和完整属性。

 $.ajax({ url: '@Url.Action("CheckLogin","Home")', data: postdata, success: function (msg) { $('#Result').html(msg); }, error: function (data) { $('#Result').html(msg); }, beforeSend: function() { $("body").append("
"); $("#ajaxLoader").hide(); $("#ajaxLoader").fadeIn('fast'); }, complete: function() { $("#ajaxLoader").remove(); } });

并使用css指定动画

 .ajaxAnimation { background-image: url('images/ajax-loader.gif'); background-repeat: no-repeat; background-position: center center; }