我试图通过angular2 http做一个简单的get请求,如下所示:(令牌也存在,也可以从帖子检索到我的api)
let idToken = localStorage.getItem('id_token'); let authHeader = new Headers(); if (idToken) { authHeader.append('Authorization','Bearer ' + idToken); } return this._http.get('http://someapicall-to-my-custom-api',{headers: authHeader}) .map(response => response.json()) .subscribe( data => console.log(data),error => console.log(JSON.stringify(error)),() => console.log('Completed') );
如果我在没有标题的情况下调用我的api,它会返回一个好的结果.我添加标题的那一刻我只运行订阅中的错误.问题是我需要开始用它来发送标题来获取一些受保护的数据,到目前为止失败了.
在控制台中我看不到任何有用的信息我只是看到这个:
{"_body":{"isTrusted":true},"status":200,"ok":true,"statusText":"Ok","headers":{},"type":3,"url":null}
在对API的GET请求中,我看到没有200可以,但是当我没有添加标题时我这样做.此外,没有响应标头.
如果我尝试使用邮递员做同样的事情,它在该程序中没有问题.
我希望有人能指出我正确的方向.可能是我的api?我该怎么调试呢?
解决方法
你还需要
Access-Control-Allow-Headers: Authorization
另见CORS: Autorization is not allowed by Access-Control-Allow-Headers