我試圖使用Angular的HttpClient發送帶授權標頭的請求,但標頭沒有成功設置。Angular 4.3 HttpClient不發送授權標頭
在這裏我的代碼。
import {HttpClient, HttpHeaders} from '@angular/common/http';
constructor(private http: HttpClient,
private auth: AuthService) {
}
sendRequest() {
this.http.get(this.url, {
headers: new HttpHeaders().set('Authorization', 'Bearer ' + this.auth.getAccessToken())
}).subscribe(
data => {
console.log(data);
},
error => {
console.log(error);
}
);
}
而這裏的網絡調試頭源。
OPTIONS /userinfo HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Access-Control-Request-Method: GET
Origin: http://localhost:4200
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36
Access-Control-Request-Headers: authorization
Accept: */*
Referer: http://localhost:4200/user
Accept-Encoding: gzip, deflate, br
Accept-Language: ja,en-US;q=0.8,en;q=0.6
響應標題如下。
HTTP/1.1 400 Bad Request
Access-Control-Allow-Origin: *
Content-Type: text/plain; charset=utf-8
X-Content-Type-Options: nosniff
Date: Sun, 27 Aug 2017 23:45:15 GMT
Content-Length: 18
有什麼問題嗎?
也嘗試將useCredentials設置爲true。 – yoonjesung
請參閱答案在https://stackoverflow.com/questions/43871637/no-access-control-allow-origin-header-is-present-on-the-requested-resource-whe/43881141#43881141 – sideshowbarker
我明白,我根本不瞭解CORS。 我會研究並開始回覆。 謝謝你的建議。 – dchiba