使Axios自动在其请求中发送cookie

我正在使用Axios从客户端向我的Express.js服务器发送请求。

我在客户端上设置了一个cookie,我想从所有Axios请求中读取该cookie,而无需手动将其手动添加到请求中。

这是我的客户端请求示例:

axios.get(`some api url`).then(response => ...

我试图通过在Express.js服务器中使用以下属性来访问标头或cookie:

req.headers

req.cookies

他们两个都不包含任何cookie。我正在使用cookie解析器中间件:

app.use(cookieParser())

如何使Axios自动在请求中发送cookie?

编辑:

我像这样在客户端上设置cookie:

import cookieClient from 'react-cookie'

...

let cookie = cookieClient.load('cookie-name')

if(cookie === undefined){

axios.get('path/to/my/cookie/api').then(response => {

if(response.status == 200){

cookieClient.save('cookie-name', response.data, {path:'/'})

}

})

}

...

虽然它也使用Axios,但与问题无关。我只想在设置cookie后将cookie嵌入到我的所有请求中。

回答:

我遇到了同样的问题,并通过使用该withCredentials属性进行了修复。

来自其他域的XMLHttpRequest不能为自己的域设置cookie值,除非在发出请求之前将withCredentials设置为true。

axios.get('some api url', {withCredentials: true});

以上是 使Axios自动在其请求中发送cookie 的全部内容, 来源链接: utcz.com/qa/410389.html

回到顶部