1

У меня есть приложение AngularJS, в котором я пытаюсь загрузить мой просмотр (шаблоны) из конечной точки REST. По какой-то причине следующий код, похоже, не работает. Я вижу в журнале сообщение «getTemplates()», затем ничего. Никаких вызовов XHR, никаких возвратов, ничего. Что мне не хватает? Почему запуск $ http не выполняется? Есть ли лучший способ сделать это? -- Спасибо!AngularJS Загрузка шаблонов из службы REST

.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); 
              } 
             ); 
          } 
         ], 
        } 
       } 
      ); 
     } 
    ] 
) 
+0

Вы пытались сделать этот вызов API REST из API-интерфейса API или другого инструмента, такого как cURL или Postman? Возвращает ли результат, когда запрос выполняется за пределами браузера? – Bryan

+0

Он делает. Я пробовал другие способы назвать это, и все они работают. Они просто все, кажется, слишком поздно, после того, как шаблон должен быть в кеше. Я ошарашен, почему я даже не вижу, чтобы он звонил. В моем полном приложении есть три аналогичные функции, соединенные вместе. Я вижу, что все три вызываются, но ни один из них не выполняет возврат. Примером может служить упрощенная версия. –

+0

Почему вы не можете просто указать 'templateUrl' на той же конечной точке? – charlietfl

ответ

1

Верьте или нет, ответ был просто удаляем возврат и позволяет выполнить вызов $ http. Я не могу объяснить, почему это было неудачно. Я бы подумал, что это еще раз оценит звонок.

Смежные вопросы