AngularJs and itunes



我只是尝试使用angularjs http对iTunes搜索API进行基本调用。

$http.jsonp("http://itunes.apple.com/search", {params:{"term":"jack+johnson"}})
                .success(function (data, status, headers, config) {
                    console.log("is scope : " + data);
                }).error(function (data, status, headers, config) {
                    console.log("error" + status);
                });

请求做得好(状态:200),我可以看到检索了JSON,这是摘录:

{
 "resultCount":50,
 "results": [
{"wrapperType":"track", "kind":"song", "artistId":909253, "collectionId":120954021,                 "trackId":120954025, "artistName":"Jack Johnson", "collectionName":"Sing-a-Longs and Lullabies     for the Film Curious George", "trackName":"Upside Down", "collectionCensoredName":"Sing-a-    Longs and Lullabies for the Film Curious George", "trackCensoredName":"Upside Down",     "artistViewUrl":"https://itunes.apple.com/us/artist/jack-johnson/id909253?uo=4",     "collectionViewUrl":"https://itunes.apple.com/us/album/upside-down/id120954021?    i=120954025&uo=4", "trackViewUrl":"https://itunes.apple.com/us/album/upside-down/id120954021?    i=120954025&uo=4",  ....

但我有一个JS错误:" unduarking syntaxerror:意外的令牌:"在JSON结果的第一行(" resultCount":50)。

我尝试使用变换响应,但发生了错误。

谢谢

您忘了添加回调函数(JSON_CALLBACK):

app.controller('Ctrl', function($scope, $http) {
    $http.jsonp("http://itunes.apple.com/search", {
        params: {
            "callback": "JSON_CALLBACK",
            "term": "jack+johnson"
        }
    }).success(function(data, status, headers, config) {
        console.log("is scope : " + data);
    }).error(function(data, status, headers, config) {
        console.log("error" + data);
    });
});​

来自Angularjs $ http.jsonp文档:

url - {string} - 指定目标的相对或绝对URL 请求。应包含JSON_CALLBACK字符串。

最新更新