Я пытаюсь сделать HTTP-запрос к API Last.fm с помощью Angular.js, но не могу заставить его работать. Я выделил свои файлы Angular js и скомпилировал их в один файл js с именем scripts.js с помощью Codekit. Порядок, в котором файлы компилируются:
- angular.min.js
- app.js
- controllers.js
- services.js
Вот как выглядят мои файлы:
app.js
var app = angular.module('app', []);
controllers.js
app.controller('similarArtistsController', function($scope, similarArtistsService) {
$scope.artists = [];
similarArtistsService.getArtists().success(function(response) {
console.log(response);
});
});
services.js
app.factory('similarArtistsService', function($http) {
var similarArtists = {};
similarArtists.getArtists = function() {
return $http({
method: 'GET',
url: 'http://ws.audioscrobbler.com/2.0/?method=artist.getSimilar&api_key=MYLASTFMAPIKEY&format=json&limit=5&artist=Tame+Impala'
});
}
return similarArtists;
});
index.html
<body>
<div ng-app="app">
<div ng-controller="similarArtistsController"></div>
</div>
<script src="/js/compiled/scripts.js"></script>
</body>
В моей консоли я вижу «Ошибка: [$ injector: unpr]», что, как я понял, означает, что контроллер не может разрешить зависимость. В моем случае я считаю, что это как-то связано с моей службой, которую я ввожу, но я не знаю, в чем ошибка.