私はヘッダ応答をToken: abc
に設定しました。レスポンスヘッダーから値を取得する方法は?
この私のコード角度2のレスポンスヘッダを取得
isLogin(): Promise<any> {
let headers = new Headers;
headers.set('Token', 'absajsj'); //I can set the header
headers.get('Token'); // But this return NULL
//console.log(this.cookie.get('autologin'));
//let options = new RequestOptions({ headers: headers });
return this.http.get(this.BASEURL + 'api/client/authentication/check', { headers: headers })
.toPromise()
.then(res => {
let a = res;
console.log(a.headers.get('Token'))
})
.catch(err => console.log(err));
}
これはサーバコード。私はcodeigniterを使用します。
if ($this->auth->loggedin())
{
$this->output
->set_status_header(200)
->set_content_type('application/json')
->set_output(json_encode(['status' => $_COOKIE['autologin']]));
} else {
$this->output
->set_status_header(200)
->set_header('Token: abcks')
->set_content_type('application/json')
->set_output(json_encode(['status' => $_SERVER['HTTP_TOKEN']]));
}
ブロックelse
に注目してください。
これは応答ヘッダーです。私はfirefoxの開発ツールを使用します。
"Access-Control-Expose-Headers"を追加する必要があったのと少し違った問題がありましたが、ヘッダーに言及すると助けになりました。 – Robert