AngularJS Flickr API' Uncaught SyntaxError:意外的令牌<'

时间:2015-10-08 20:44:16

标签: javascript json angularjs flickr

我试图使用AngularJS从Flickr获取公开照片并收到此控制台错误:

  

未捕获的SyntaxError:意外的标记<

这是我的代码:

  var app = angular.module('plunker', ['ng', 'ngResource']);
  app.controller('MainCtrl', function($scope, $http) {
      $http.jsonp('https://api.flickr.com/services/feeds/photos_public.gne?&callback=JSON_CALLBACK').then(function (data) {
        $scope.data = data;
        console.log(data);
      });
  });

这是我的Plunker:

http://plnkr.co/edit/vB9BJDh6B8DtSFlod1F2?p=preview

如何防止发生此错误?

1 个答案:

答案 0 :(得分:1)

您正在使用的flickr API的网址返回 XML

在请求网址中添加format=json。另外,将callback=JSON_CALLBACK替换为jsoncallback=JSON_CALLBACK

总结一下,查询一下:

$http.jsonp('https://api.flickr.com/services/feeds/photos_public.gne?format=json&jsoncallback=JSON_CALLBACK').then(function (data) {
    $scope.data = data;
    console.log(data);
});

参见 updated plunker