Tumblr API Angular $http GET
Tumblr API Angular $http GET
我 运行 陷入 Tumblr 的 API 问题,Angular 我不太明白。当使用 $http 尝试从某个博客获取信息时,它保持 'Response for preflight is invalid'。我想我在看这段代码时有点斜眼。有人会看看这个并告诉我我做错了什么吗?谢谢
$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);
});
这个问题通常是因为 CORS-Cross Origin Resource Sharing 引起的。您尝试访问的第 3 方 API 应该允许来自您网站的请求。由于它似乎不允许您这样做,飞行前请求基本上检查您是否可以对 API 进行 GET 调用,但失败了。如 link 此处所述,有多种修复方法。
您可以像这样更改您的 $http
请求:
$http({
method: 'jsonp',
dataType: 'json',
headers: {
'Authorization': $scope.tumblrKey
},
params: {
format: 'jsonp',
callback: 'JSON_CALLBACK'
},
url: $scope.tumblrUrl + $scope.tumblrKey
})
Here's a plunkr 工作代码
这似乎工作正常。祝你好运!
我 运行 陷入 Tumblr 的 API 问题,Angular 我不太明白。当使用 $http 尝试从某个博客获取信息时,它保持 'Response for preflight is invalid'。我想我在看这段代码时有点斜眼。有人会看看这个并告诉我我做错了什么吗?谢谢
$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);
});
这个问题通常是因为 CORS-Cross Origin Resource Sharing 引起的。您尝试访问的第 3 方 API 应该允许来自您网站的请求。由于它似乎不允许您这样做,飞行前请求基本上检查您是否可以对 API 进行 GET 调用,但失败了。如 link 此处所述,有多种修复方法。
您可以像这样更改您的 $http
请求:
$http({
method: 'jsonp',
dataType: 'json',
headers: {
'Authorization': $scope.tumblrKey
},
params: {
format: 'jsonp',
callback: 'JSON_CALLBACK'
},
url: $scope.tumblrUrl + $scope.tumblrKey
})
Here's a plunkr 工作代码
这似乎工作正常。祝你好运!