无法从Last.FM的API中检索JSON数据

时间:2014-06-11 11:29:40

标签: javascript angularjs last.fm

我正在开展一个学校项目并遇到麻烦。也就是说,我正在构建一个简单的AngularJS应用程序,它根据Last.FM's data显示某种无线电图表。

但是,在尝试访问API时,我从未收到回复。

这是我用来访问的代码:

APIservice.getChartTracks = function () {
    return $http({
        method: 'JSONP',
        url: 'http://ws.audioscrobbler.com/2.0/?method=chart.gettoptracks&api_key=MY_API_KEY&format=json'
    });
}

之后,当我做这样的事情时:

APIservice.getChartTracks().success(function (response) {
    $scope.tracks = response.tracks.track;
});

永远不会调用success()方法。如果我要将url更改为this one(在某些在线教程中找到它),我会收到回复和所有内容。

我应该如何访问Last.FM的API?

提前致谢。

1 个答案:

答案 0 :(得分:1)

使用$http时,要使用的方法是GET,而不是JSONP。写:

return $http({
        method: 'GET',
        url: 'http://ws.audioscrobbler.com/2.0/?method=chart.gettoptracks&api_key=MY_API_KEY&format=json'
    });

或使用快捷方式:

return $http.get('http://ws.audioscrobbler.com/2.0/?method=chart.gettoptracks&api_key=MY_API_KEY&format=json');