У меня есть приложение 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);
}
);
}
],
}
}
);
}
]
)
Вы пытались сделать этот вызов API REST из API-интерфейса API или другого инструмента, такого как cURL или Postman? Возвращает ли результат, когда запрос выполняется за пределами браузера? – Bryan
Он делает. Я пробовал другие способы назвать это, и все они работают. Они просто все, кажется, слишком поздно, после того, как шаблон должен быть в кеше. Я ошарашен, почему я даже не вижу, чтобы он звонил. В моем полном приложении есть три аналогичные функции, соединенные вместе. Я вижу, что все три вызываются, но ни один из них не выполняет возврат. Примером может служить упрощенная версия. –
Почему вы не можете просто указать 'templateUrl' на той же конечной точке? – charlietfl