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 + "=")
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)