Просто попробуйте получить очень простой REST, чтобы позвонить, используя angularjs $resource
. API никогда не вызывается. Вот код:
angular.module('app.services', [])
.service('tourRepository', function ($resource) {
this.get = function (id) {
alert('tourRepositoryCalled for id ' + id + '!'); // this is called
var tour = $resource('/api/tour/:tourid', { tourId: '@id' });
return tour.get({ tourId: id }, function() {
alert('tour api called.'); // THIS NEVER IS
});
}
Если я использую браузер и перейти к/API/тур/3, она работает. Что я здесь делаю неправильно? Я думал, что $ resource calls может быть намного проще, например, как показано ниже, но я следую документации по angularjs.
В идеале:
$scope.tour = $resource.get('/api/tour/' + id); // why wouldn't this work?
Все, что я хочу сделать, это вызвать простой сервис REST и присвоить результаты моего объекта $ scope.tour. Так как я нахожусь в сервисе (мой «репозиторий»), у меня нет доступа к области $. Каков наилучший способ сделать это? Когда я меняю код на ниже, API получает удар.
var tour = $resource('/api/tour/:tourid');
var theTour = tour.get({ tourid: id });
alert(theTour.id);
Если вы открыты хромовые инструменты для разработчиков, как все смотрят на вкладке сети? – Fedaykin