从角度$ http POST请求

时间:2016-06-04 15:21:44

标签: angularjs cookies couchdb

我正在使用角度编写一个小应用程序。 我需要访问沙发数据库。我在该数据库中只有一个用户。 使用cURL命令,我可以向该数据库请求会话cookie,并使用该cookie来请求特定文档。

当使用角度代码时,我使用:

$http.post(url, data).then(...);

“数据”包含用户名和密码,我可以使用chrome查看Cookie(如此图片chrome dev tool output),但在代码中,我无法访问它。

有人可以帮我这个吗?

3 个答案:

答案 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