我正在使用角度编写一个小应用程序。 我需要访问沙发数据库。我在该数据库中只有一个用户。 使用cURL命令,我可以向该数据库请求会话cookie,并使用该cookie来请求特定文档。
当使用角度代码时,我使用:
$http.post(url, data).then(...);
“数据”包含用户名和密码,我可以使用chrome查看Cookie(如此图片chrome dev tool output),但在代码中,我无法访问它。
有人可以帮我这个吗?
答案 0 :(得分:1)
出于安全原因,您无法使用浏览器中的脚本访问HttpOnly
Cookie。它只能在服务器上访问。
如果您需要在跨域请求中包含Cookie,请在请求中使用withCredentials
。请参阅$http
docs
答案 1 :(得分:0)
$ http.post返回带有属性的响应:
headers - {function([headerName])} - 标头getter函数。
所以你应该可以做一些像
这样的事情.then((response) => {
console.log(response.headers('set-cookie'));
});
请参阅文档here
答案 2 :(得分:0)
尝试使用response.headers('set-cookie')
对于跨域情况,服务器必须发送
Access-Control-Expose-Headers: set-cookie
标头可使自定义标头可见。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS#Access-Control-Expose-Headers