新手请教django2.2.3设置cookie返回值为null

新手请教django2.2.3设置cookie返回值为null,第1张

set_cookie()方法没有返回值。调用Response.set_cookie()即可给response对象设置cookie。

res = HttpRespnse('OK')

res.set_cookie('abc', 'abc')

return res

后端开发环境:Django 3.2.9

前端开发环境:vue3 + ts

浏览器版本:chrome(96.0.4664.45)

问题:

最近开发一个新项目,前端使用axios进行http类的封装,前后端分离进行api调试,进行登录后,后续的api调用发现无法识别到cookie。

尝试情况

1、axios设置withCredentials,无效

2、分析api请求和响应信息,发现响应标头有一段警告信息

3、联想到既然是响应标头出现报警信息,那么可以考虑从django入手。在官网上输入"SAMESITE",果然找到了相关的说明,通过在settings.py设置 SESSION_COOKIE_SAMESITE='None' SESSION_COOKIE_SECURE=True 后成功解决问题。

使用模板的情况和不使用模板的情况都做了测试, 可以向浏览器设置cookies, 在客户端可以用javascript 取出来:

程序代码

function getCookie(c_name)

{

if (document.cookie.length>0)

{

c_start=document.cookie.indexOf(c_name + "=")


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

原文地址: http://outofmemory.cn/tougao/11347636.html

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

发表评论

登录后才能评论

评论列表(0条)

保存