我遇到了一个我无法弄清楚的tumblr和Angular的API问题。当使用$ http尝试从某个博客中获取信息时,它会保持"前飞行的响应无效"。我想我要互相看一下这个代码。有人会看这个,告诉我我做错了什么吗?谢谢。
$scope.tumblrKey = 'mldv2B4xUD5roLX8XfbYdgJhzlgLxfm8mBRuKQhBxXsUFLiqEx';
$scope.tumblrUrl = 'http://api.tumblr.com/v2/blog/whileoutriding.tumblr.com/info?api_key=';
$http({
method: 'GET',
headers: {
'Authorization': $scope.tumblrKey
},
url: $scope.tumblrUrl + $scope.tumblrKey
}).then(function successCallback(response) {
console.log('it worked', response);
}, function errorCallback(response) {
console.log('it did not work', response);
});
您可以像这样更改$http
请求:
$http({
method: 'jsonp',
dataType: 'json',
headers: {
'Authorization': $scope.tumblrKey
},
params: {
format: 'jsonp',
callback: 'JSON_CALLBACK'
},
url: $scope.tumblrUrl + $scope.tumblrKey
})
这是一个带有工作代码的plunkr
这似乎很好。祝你好运!
这个问题通常是由于cors-cross来源资源共享。您要击中的第三方API应允许您的网站请求。由于似乎不允许您这样做,因此,飞行前请求基本上检查您是否可以打电话给该API,这是失败的。有多种方法可以按照此处的链接中的概述进行修复。