我试图使用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
如何防止发生此错误?
答案 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);
});