django+vue无法设置跨域cookies

django+vue无法设置跨域cookies,第1张

后端开发环境:Django 329

前端开发环境:vue3 + ts

浏览器版本:chrome(960466445)

问题:

最近开发一个新项目,前端使用axios进行>

这个问题和vue无关。

跨域请求就会出现这样的问题。

由于CORS(cross origin resource share)规范的存在,浏览器会首先发送一次options嗅探,同时header带上origin,判断是否有跨域请求权限,服务器响应access control allow origin的值,供浏览器与origin匹配,如果匹配则正式发送post请求。

JSON。parse()作用是将字符串转化成json数组,JSONstringify()作用是将json数组转换成字符串

对浏览器来说,使用Web Storage存储键值对比存储Cookie方式更直观,而且容量更大,它包含两种:localStorage和sessionStorage

所以上次使用cookie的时候就遇到了一个坑,设置后马上访问session会获取不到,蛋痛,还需要刷新一下,原因是:

当我们首次访问设置Cookie的页面是,服务器会把设置的Cookie值通过响应头送过来,告诉浏览器将cookie存储的本地相应文件夹中(注意:第一次访问时本地还没有存储Cookie,所以此时获取不到值);

当第二次访问时(或是进行cookie设置后,过期前所有的访问)时,请求头信息中你都会把Cookie值携带。

localStorage有效期是永久的。一般的浏览器能存储的是5MB左右。sessionStorage api与localStorage相同。

sessionStorage默认的有效期是浏览器的会话时间(也就是说标签页关闭后就消失了)。

localStorage作用域是协议、主机名、端口。(理论上,不人为的删除,一直存在设备中)

sessionStorage作用域是窗口、协议、主机名、端口。

知道了这些知识点后,你的问题就很好解决了。

localStorage是window上的。所以不需要写thislocalStorage,vue中如果写this,是指vue实例。会报错

以上就是关于django+vue无法设置跨域cookies全部的内容,包括:django+vue无法设置跨域cookies、vue+cookie什么时候可以共享、vue axios请求带cookie等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9568212.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存