我正在尝试使用 Angular.js 向 Last.fm API 发出 HTTP 请求,但我无法让它工作。我已经分离出我的 Angular js 文件,并使用 Codekit 将它们编译成一个名为 scripts.js 的单个 js 文件。编译文件的顺序是:
- angular.min.js
- 应用程序.js
- 控制器.js
- 服务.js
这是我的文件的样子:
应用程序.js
var app = angular.module('app', []);
控制器.js
app.controller('similarArtistsController', function($scope, similarArtistsService) {
$scope.artists = [];
similarArtistsService.getArtists().success(function(response) {
console.log(response);
});
});
服务.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;
});
索引.html
<body>
<div ng-app="app">
<div ng-controller="similarArtistsController"></div>
</div>
<script src="/js/compiled/scripts.js"></script>
</body>
在我的控制台中,我看到“错误:[$injector:unpr]”,我了解到这意味着控制器无法解析依赖项。就我而言,我相信它与我正在注入的服务有关,但我不知道错误在哪里。