作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想在响应 header (Set-Cookie) 中获取 session token 。如何访问响应 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);
});
这是我的标题响应
最佳答案
问题是您将响应映射到它的 json 内容。可以从响应本身到达 header 。所以你需要删除 map
运算符:
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')
(...)
});
在访问响应 header 时要小心使用 CORS。看到这个问题:
关于http - 如何在 Response header Angular2 中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36423388/
我是一名优秀的程序员,十分优秀!