【发布时间】:2020-03-17 06:48:15
【问题描述】:
这是我的 api 调用,我正在尝试从响应标头中读取 Set-Cookie
return $http(config).then(function (response) {
console.log(response.headers('Set-Cookie')); // undefined
console.log($cookies.ovrcMfa); // undefined
return response.data;
});
响应头是:
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Content-Type, Authorization, Set-Cookie, X-Requested-With, X-Session-Id, X-App-version, X-Target-Client, X-Origin-Domain, X-Dev-Mode
Access-Control-Allow-Methods: GET,PUT,POST,DELETE,OPTIONS
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: Set-Cookie
Set-Cookie : ovrc-mfa=IHfpt06ogxzLQFpwySE7vaJYg7whQ0sF; Max-Age=31536000; Path=/; Expires=Thu, 16 Jan 2020 09:30:47 GMT
这里我要读取 Set-Cookie 的值,即 ovrc-mfa
【问题讨论】:
-
console.log(response.headers)的输出是什么? -
如果我做 console.log(response.headers('Set-Cookie')) 它是未定义的,如果 console.log(response.headers()) 它正在记录请求标头值和控制台。 log(response.headers('Set-Cookie')) 是记录头函数的代码
-
你能显示确切的输出吗?你能做类似
console.log(response.headers()['Set-Cookie'])的事情吗? -
console.log(response.headers) 正在记录 ƒ (name) { if (!headersObj) headersObj = parseHeaders(headers); if (name) { var value = headersObj[lowercase(name)]; if (value === void 0) { value = null; } 返回 headersObj } 和 console.log(response.headers()['Set-Cookie']) 是未定义的
-
您说
console.log(response.headers())正在记录请求标头。你的意思是 response 标题吗?如果是这样,cookie 在其中吗?确切的控制台输出是什么?将其添加到您的问题中。您可能还应该尝试记录$cookies["ovrc-mfa"]
标签: javascript angularjs http cookies