[axios]我如何获取 set-cookie 标头?

2024-05-15 890 views
2

你好。

“Set-Cookie”标头存在于 HTTP 响应标头中。但 axios 响应没有“set-cookie”标头。

响应标头只有“内容类型”。

我怎样才能获得“set-cookie”标头?

回答

4

你找到解决方案了吗?

8

事实上有一个response.headers['set-cookie'](我猜这是找到的解决方案)。

1

也找不到啊有人对此有任何提示吗?

2

任何更新 ?

8

响应标头中有一个“set-cookies”。

3

同样的问题无法从标头获取设置的cookie也尝试使用 withcredential : true 。对此有任何帮助

3

我也面临着这个问题。 cookie 位于网络选项卡上,但 axios 的响应中没有任何内容。

0

ankitsinghaniyaz 使用 withCredentials: true,在 axiios 中它们会有所帮助。 method: 'GET', url: BACKEND_URL+'/notification/new/?pageNum='+pageNum+'&pageSize='+resultSize, withCredentials: true, headers : {'Content-Type': 'application/x-www-form-urlencoded'} 这对我有用。

0

因此,我对于 cookie 的工作原理存在一些知识空白。把它放在这里,以便其他人可以从中受益。

  1. 无法在 JavaScript 中访问 HTTP ONLY(安全)cookie。如果您尝试从安全 cookie 中读取某些令牌等,它将无法工作。
  2. 无法访问跨域cookie。如果您正在构建单页应用程序并且您的服务器位于不同的域中。您无法访问 SPA 上的 cookie。该withCredentials标志将仅确保进行的网络调用包含 cookie 并接受任何传入的 cookie。

我希望这会对某人有所帮助。 :)

9

因此,我对于 cookie 的工作原理存在一些知识空白。把它放在这里,以便其他人可以从中受益。

  1. 无法在 JavaScript 中访问 HTTP ONLY(安全)cookie。如果您尝试从安全 cookie 中读取某些令牌等,它将无法工作。
  2. 无法访问跨域cookie。如果您正在构建单页应用程序并且您的服务器位于不同的域中。您无法访问 SPA 上的 cookie。该withCredentials标志将仅确保进行的网络调用包含 cookie 并接受任何传入的 cookie。

我希望这会对某人有所帮助。 :)

这节省了我很多时间。谢谢 !

2

请问您找到获取 set-cookie 值的解决方案了吗?添加 withCredentials: true 并不能解决问题

1

@ankitsinghaniyaz 只有考虑到在浏览器中使用 axios 时,这个答案才是正确的。有许多应用程序在服务器上下文中使用 axios 来执行 SSR。

6

这里有人找到解决方案了吗?当 axios 在服务器上运行时,上述解决方案都无法解决该问题。