响应没有到达拦截器

时间:2017-06-19 00:44:59

标签: angularjs request interceptor

我花了几个小时对此无济于事,希望有些人能够对此有所了解。 (谢谢!)

我的拦截器:

appRoot.factory('myInterceptor', ["$window", "$q",'$location', function ($window, $q,$location) {
    var sessionRecoverer = {
    responseError: function(response) {
        // Session has expired
        if (response.status == 401) {
            $location.path('/#/login');
        }
        return $q.reject(response);
    }
};
return sessionRecoverer;

  }]);

申请结束请求:

        private void Application_EndRequest(object sender, EventArgs e)
    {
        if (!HttpContext.Current.User.Identity.IsAuthenticated)
        {
            Response.StatusCode = (int)HttpStatusCode.Unauthorized;
            var routeValues = HttpContext.Current.Request.RequestContext.RouteData.Values;
            if (routeValues != null)
            {
                if (routeValues.ContainsKey("action"))
                {
                    var actionName = routeValues["action"].ToString();
                    if (actionName.ToLower() != "login")
                    {
                        Response.StatusCode = (int)HttpStatusCode.Unauthorized;
                    }
                }
            }
        }
    }

页面结果: enter image description here

1 个答案:

答案 0 :(得分:0)

谢谢,我正在使用Angular js(1)。这个问题似乎与我的web.config上的一些奇怪的设置有关,身份验证表单超时转发到默认的url有点事。无法捕捉奇怪的设置,所以我可以在这里发布,但有点解决了这个问题。