如何在asp.net mvc3 Web应用程序中的json调用期间处理会话超时?

时间:2012-04-25 17:14:45

标签: jquery asp.net-mvc-3 asp.net-mvc-routing

在我们的项目中,我们为各种操作进行了大量的json回调。我将在下面给你一个这样的ajax调用的例子

$.ajax({
    url: '../Controller1/Method1',
    type: "POST",
    data: "{'Id': '" + Id "'}",
    dataType: "html",
    contentType: "application/json; charset=utf-8",
    success: function (result) {
        $('#div').html(result);
    }, error: function (s) {
        ShowAlert(s.responseText);
    }
});

现在当会话超时并且我们正在制作json ajax回调时,它不会正确地重定向到登录页面, 所以如何在json ajax回调期间处理会话超时,如果会话过期并且进行了ajax回调,它应该将我重定向到登录页面。

如何实现这一目标?任何帮助(代码示例,有用的链接)将非常感谢。

2 个答案:

答案 0 :(得分:2)

当进行ajax调用并且会话超时时,返回具体的 错误消息,现在如果响应带有特定的错误消息,那么只需执行window.location =

答案 1 :(得分:0)

是12030的http响应?为什么不返回或抛出(取决于你是否在web-api或普通控制器中):

返回新的HttpStatusCodeResult(HttpStatusCode.BadRequest);

然后在ajax调用中:

$.ajax({
  //.........
  statusCode: {
      408: function () {
          console.log('Call timed out');
      }
  }
});

也许