【发布时间】:2020-01-10 13:45:12
【问题描述】:
我有一个 API 来获取我必须将授权放在标题中的数据,但它不起作用。这是邮递员中的图像
https://drive.google.com/open?id=18CY4uBc83u9AcN9Uu2SFXMjPgc4FPBzU
我已经应用了这个问题的答案 AngularJS Adding a header to the $http.get 但它没有用。
HTML:-
<button type="button" class="btn btn-primary btn-xs" ng-click="getApiData()">
GET DATA
</button>
JS:-
$scope.getApiData = function(){
$http({
method : 'GET',
url : 'http://api.getlokalapp.com/posts/7678/?format=json',
headers : {
'Content-Type' : 'application/json',
'Authorization' : '5ae5f64653ce85803b44b7b6f4d216c2dae02251'
}
})
.then(function(response){
console.log(response);
});
}
我希望输出是响应,因为它显示在邮递员请求中,但我无法得到它,请帮助我从 API 获取数据。
我收到的错误消息是-
访问 XMLHttpRequest 在 'http://api.getlokalapp.com/posts/7678/?format=json' 来自原点 “http://localhost:9000”已被 CORS 策略阻止:响应 预检请求未通过访问控制检查:否 请求中存在“Access-Control-Allow-Origin”标头 资源。
但我已经集成了其他 API,没有出现任何错误。
【问题讨论】:
-
这个问题来自 API 提供者方面。除了要求他们解决此问题并允许您使用他们的 API 之外,您无能为力,因为它被 CORS(跨源)政策阻止。
-
谢谢@VermaJr。如果您看到 gdrive 链接和我的代码,您的反馈和我的代码是正确的,您认为值的授权是否有任何错误
-
您的代码看起来不错。这个问题肯定是从他们这边来的。他们的 API 是否可供公众使用?
-
不,这是公司 api 我必须与我的团队核实
-
如果它不能供公众使用,那么这是一个非常正常的错误,因为浏览器会阻止它,因为出于安全原因它通常允许同源请求。您只是无法使用 JavaScript 访问他们的 API。
标签: javascript angularjs api cors token