前端使用axios发送Post请求,预检不通过(无法携带cookie),无法加载响应数据(跨域)

您所在的位置:网站首页 axios获取header 前端使用axios发送Post请求,预检不通过(无法携带cookie),无法加载响应数据(跨域)

前端使用axios发送Post请求,预检不通过(无法携带cookie),无法加载响应数据(跨域)

2023-06-05 15:17| 来源: 网络整理| 查看: 265

在默认情况下,浏览器在发送跨域的POST请求时,会自动发送OPTIONS请求进行预检,以确定服务器是否支持跨域请求。如果OPTIONS请求返回的响应头中没有设置Access-Control-Allow-Credentials字段为true,浏览器就会拒绝发送带有凭证信息(如cookie)的POST请求。

而在发送GET请求时,浏览器不会发送OPTIONS请求进行预检,因此可以直接发送带有凭证信息的GET请求。所以如果将POST请求改成GET请求,就可以携带上cookie了。

如果需要在发送跨域的POST请求时携带上cookie,需要在服务器端设置Access-Control-Allow-Credentials为true,并在响应头中设置Access-Control-Allow-Origin字段为请求头中的Origin值,表示允许来自该域名的请求携带凭证信息。

同时,还需要在发送请求时设置withCredentials为true,表示允许携带凭证信息。

如果服务器端已经设置好了CORS跨域头,但仍然不能携带上cookie,可能是由于请求头中的Origin值与服务器端设置的Access-Control-Allow-Origin值不匹配导致的。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3