i want to get session token in response header(Set-Cookie).how can i access values in Response header ?
var headers = new Headers(); headers.append('Content-Type', 'application/json'); console.log('url',this.loginUrl) this.http.post(this.loginUrl, JSON.stringify({ "username": value.username, "password": value.password }), { headers: headers }) .map((res: Response) => res.json()) .subscribe((res) => { console.log("res", res); this.loading.hide(); if (res.message_code == "SUCCESS") { this.nav.setRoot(HomePage, { username: value.username, }); } else { let alert = Alert.create({ title: "Sign In Error !", subTitle: 'Please Check Username or Password.', buttons: ['Ok'] }); this.nav.present(alert); } }, err => { this.loading.hide(); console.log('error', err); });
this is my header response
The problem is that you map your response to its json content. Headers can be reached from the response itself. So you need to remove the map
operator:
this.http.post(this.loginUrl, JSON.stringify({ "username": value.username, "password": value.password }), { headers: headers }) /*.map((res: Response) => // <-------------- res.json())*/ .subscribe((res) => { var payload = res.json(); var headers = res.headers; var setCookieHeader = headers.get('Set-Cookie') (...) });
Be careful with CORS with accessing the response headers. See this question:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With