当前位置: 代码迷 >> ASP.NET >> asp.net mvc4 ajax请求解决方法
  详细解决方案

asp.net mvc4 ajax请求解决方法

热度:3020   发布时间:2013-02-25 00:00:00.0
asp.net mvc4 ajax请求
前提是用户已经退出。用post请求数据源,前台代码如下
JScript code
  jQuery(function(){   $.post("account/Getlist",function(data){ $("#msg")(data.msg);})})


此时我用户退出了,我通过浏览器上面的后退按钮,又返回到此页面,同时页面初始化的加载数据的Ajax请求又发起一次!
C# code
 [AuthorizationFilter]  public ActionResult Getlist()


AuthorizationFilter实现如下,过滤实现的代码如下:
C# code
public class AuthorizationFilter : ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext filterContext) { if (filterContext.HttpContext.Request.IsAjaxRequest()) { if (filterContext.HttpContext.Session["User"] == null) { filterContext.Result = new RedirectResult("/user/user/login"); //我想实现如果用户没有登录 转到登录 页页 这里的代码应该怎么写。。 //Ajax请求无法实现转向 } } } } 



请问ajax请求时,,没有验证通过 。。怎么在后台实现页面转向。。转到登录页面


和这一个帖子极像,求解决方案

http://topic.csdn.net/u/20120301/12/6339133e-e1e1-48be-9733-5afa5231ddc6


------解决方案--------------------------------------------------------
那么你应该将这段代码改下:
$("#msg")(data.msg);
假如用户处于在线状态,那么你这里输出的data.msg值的头部应该包含一个值(比如说1),表示 用户在线

每次抓的时候如果这里的值不包含1,那么,在此处就应该进行跳转了。
------解决方案--------------------------------------------------------
$("#msg")(data.msg);
这里你应该加上一个判断,判断用户是否在线
即data.msg值里应该有个标记,表示这个用户在线,如果不在线,就应该进行跳转..
------解决方案--------------------------------------------------------
那可以使用cookie进行判断,在客户端通过js调用cookie
------解决方案--------------------------------------------------------
探讨

有缓存的!

现在用这个方式处理了
HTML code

@{
Response.Expires = -1;
Response.AddHeader("pragma", "no-cache");
Response.AddHeader("cache-control", "no-cache");
Response.CacheControl = "no-cache";
Response.Cac……
  相关解决方案