【发布时间】:2018-01-27 13:17:23
【问题描述】:
我正在进行 JSONP 调用,并且需要在授权标头中传递不记名令牌。但是,尽管在我的代码中添加了标头,但并未将授权标头添加到请求中(在 Fiddler 中检查)。该代码利用了 Angular 2 和 TypeScript。这是我的代码-
let headers = new Headers({ 'Authorization': 'Bearer ' + token });
let options = new RequestOptions({ headers: headers, withCredentials: true });
this.url = "http://api.azurewebsites.net/api/search/" + params;
return this.jsonp.request(this.url, options)
.map(this.extractData)
.catch(this.handleErrorObservable);
我在这里错过了什么?
【问题讨论】:
-
我猜应该是
let headers = new Headers({'Authorization', 'Bearer ' + token } -
如果我使用逗号而不是冒号,则代码不会生成。抛出异常提及“;”预期的。确切地说 - TS1005: ':' 预期。
-
{ 'Authorization': 'Bearer ' + token } 是标准的,应该可以工作。我认为错误是因为您使用的是
withCredentials并且不包括凭据的第二个参数。删除withCredentials或更改为this.jsonp.request(this.url, '', options) -
在声明后尝试使用
header.append('Authorization', 'Bearer ' + token); -
@Aravind - 我试过了,但行为是一样的,标题没有通过
标签: javascript angular typescript cors jsonp