Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果没有调用ajax angularjs,则重定向到登录页面_Ajax_Angularjs - Fatal编程技术网

如果没有调用ajax angularjs,则重定向到登录页面

如果没有调用ajax angularjs,则重定向到登录页面,ajax,angularjs,Ajax,Angularjs,在我的script.js中,如果没有ajax调用,我必须重定向到登录页面,但我有response.status=200 myapp.factory('myHttpResponseInterceptor',['$q','$location',function($q,$location){ return { response: function(response) { return response;

在我的script.js中,如果没有ajax调用,我必须重定向到登录页面,但我有response.status=200

myapp.factory('myHttpResponseInterceptor',['$q','$location',function($q,$location){

        return {
            response: function(response) {
                return response;
            }, responseError: function(response) {
                if (response.status === 401)
                    $location.url('/login');
                return $q.reject(response);
            }
        }

    }]);

    myapp.config(['$httpProvider',function($httpProvider) {
        $httpProvider.interceptors.push('myHttpResponseInterceptor');
    }]);

不知道你的问题是什么。这将在出现响应错误时重定向到登录页面。如果它是一个好的响应,它将简单地返回响应。如果您收到的响应状态为200,那么这是一个良好的响应,因此它将返回响应。如果您不应该收到该消息,那么错误位于您正在调用的任何API中,而不是侦听器中​​从MVC5API调用JSON数据,我想在这里做的是测试我是否有权访问JSON数据,如果没有重定向到connectedOkay,则返回响应,因此现在的拦截器将这样做。您需要配置API以返回401响应。现在它返回200,正如你在问题中提到的,所以拦截器永远不会做重定向。你能在你的API中发布代码吗?作为回应,我有登录页面的html!我该如何解决这个问题呢?您需要做的是将API配置为返回上述Ben Black提到的401状态代码。