1

REST エンドポイントからビュー (テンプレート) をロードしようとしている AngularJS アプリケーションがあります。何らかの理由で、次のコードが機能していないようです。ログに「getTemplates()」というメッセージが表示されますが、その後は何も表示されません。XHR の呼び出しも、返品も、何もありません。私は何が欠けていますか?$http リターンが実行されないのはなぜですか? これを達成するためのより良い方法はありますか? - ありがとうございました!

.config(
  [
    '$stateProvider', '$urlRouterProvider', '$httpProvider', '$compileProvider',
    function($stateProvider, $urlRouterProvider, $httpProvider, $compileProvider) {

            $stateProvider.state('applications',
                {
                    url: "/applications",
                    controller: 'ImageManager',
                    templateProvider: [ '$templateCache', function($templateCache) { return $templateCache.get("applications"); } ],
                    resolve: {                
                        'getTemplates' : [
                            '$log', '$rootScope', '$http', '$templateCache',
                            function( $log, $rootScope, $http, $templateCache ) {
                                $log.debug("getTemplates()");  /* I see this. */

                                return 
                                    $http
                                        .get('/api/now/table/x_cqt_cliqr_cliqr_templates?sysparm_limit=10&sysparm_fields=title,html')
                                        .then(
                                            function( response ) {
                                               $log.debug("applications::resolve::getTemplates()");
                                               $log.debug(response);

                                               for(var idx=0; idx < response.data.result.length; idx++) {
                                                  $templateCache.put(response.data.result[idx].title.toLowerCase(), response.data.result[idx].html);
                                                }
                                            },

                                            function( response ) {
                                                $log.error("applications::resolve::getTemplates()");
                                                $log.error(response);
                                            }
                                        );
                            }
                        ],
                    }
                }
            );
        }
    ]
)
4

1 に答える 1

1

信じられないかもしれませんが、答えはリターンを削除して $http 呼び出しを実行させることでした。なぜ失敗したのか説明できません。私はそれがまだ呼び出しを評価すると思います。

于 2015-10-24T03:39:37.833 に答える