首页 > 解决方案 > 使用 AngularJS 扩展应用时解决 HTTP 获取失败

问题描述

我正在尝试使用以下代码将解析参数动态附加到我定义的所有路由:

    // attach resolve to each route programatically
    var originalWhen = $routeProvider.when;

    $routeProvider.when = function(path, route) {

        if (path !== '/login') {
            route.resolve || (route.resolve = {});
            angular.extend(route.resolve, {
                authorize: function($http) {
                    console.log("authorize test");
                    return $http.get('/svc/authorize/view?urlPath=' + path)
                        .then(function(response) {
                            var data = response.data;
                            if (response.data.result === 'NOT_AUTHORIZED') {
                                throw "NOT_AUTHORIZED";
                            }

                            return data;
                        });
                }
            });

            return originalWhen.call($routeProvider, path, route);
        }
    }

不幸的是,在访问路线时,$http.get()永远不会触发。谁能帮我?

标签: angularjsngroute

解决方案


推荐阅读