由于Javascript错误,303响应未重定向

时间:2017-03-20 13:02:28

标签: javascript angularjs redirect mellon

我想从网络服务中获取数据,这可以通过以下方式完成:

$scope.data = itemsApi.search(null, $scope.filterCriteria);

itemsApi的定义如下:

angular.module('rootApp')

.factory('itemsApi ', function($resource, rootURL) {
    return $resource(rootURL + '/items/:id/:action/:correlationUid', {
        id : '@itemIdentification'
    },

    search : {
        method : 'POST',
        isArray : false
    }
 });
});

通常,这很好用。通过显示数据获取数据,我的Angular应用程序完成了网页。

但是,我现在已经制定了安全措施,如果用户未登录或会话已过期,则会将用户重定向到SSO登录页面。这意味着可以在API调用中检索303状态代码,并返回网页(html,200)。由于浏览器处理重定向,$scope.data现在包含HTML而不是JSON,并且发生Javascript错误,可能会阻止浏览器继续遵循重定向:

  

“错误:[$ resource:badcfg]资源配置出错。预计   响应包含一个数组但得到一个对象   http://errors.angularjs.org/1.2.32/ $资源/ badcfg P0 =阵列&安培; P1 =对象   ...

我已经尝试在响应上创建一个拦截器,找出我是否检索HTML页面而不是JSON并采取行动,但我发现它是一个肮脏的解决方案,我猜它会在项目时产生问题处于进一步的状态。

如何配置应用程序,以便跟踪http请求的重定向,而不是(尝试)解析为JSON?

0 个答案:

没有答案