如何跨域传递 cookie

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何跨域传递 cookie相关的知识,希望对你有一定的参考价值。

目前情况是这样的:我后台提供一接口(地址: 127.0.0.1 : 8000 ),前台有一网页(地址: 127.0.0.1 : 5000 )通过 ajax 调接口获取数据,可以获取到返回的数据,但是不能获取到返回的 cookie 。该怎么办?
后台是拿 django-rest-framework 写的(没想好,应该拿 django 写,直接获取前端的静态文件就好了。), 使用了 django-cors-headers 。
在前端浏览器的 response 头信息里可以看到 Set-Cookie 信息,但是就是获取不到( document.cookie ),也不能自动加载到浏览器里。
为什么需要前端保存 cookie 呢?因为有的要记录用户的输错次数,就拿 session 保存的,还有生成的一次性 code ,也是拿 session 保存的,这样后端就好自动生成一个 sessionid 保存到 cookie 里返回到前端。
目前感觉前台拿不到cookie应该是跨域的问题。
参考技术A 设置 Allow-Control-Allow-Credentials ,使得跨域可以带 Cookie ;同时要设置 Allow-Control-Allow-Origin ,此时不能用通配符。

以上是关于如何跨域传递 cookie的主要内容,如果未能解决你的问题,请参考以下文章

跨域请求传递Cookie问题

getLinkerUrl 未跨域传递 cookie - Google Analytics

Ajax跨域请求,无法传递及接收cookie信息

ASP.Net WebAPI与Ajax进行跨域数据交互时Cookies数据的传递

ASP.Net中关于WebAPI与Ajax进行跨域数据交互时Cookies数据的传递

跨域请求如何携带cookie?不小心都拿了Offer