我试图从AngularJS前端向Django后端发送跨域PUT
请求。当我在同一个域上运行时(localhost:8000
的前端和localhost:8001
后端),我从{csrftoken
获取$cookies
,这一切都很好{1}}并且可以发送成功的请求。当我将后端切换到外部QA服务器时,问题就开始了。我得到空$cookies
,没有sessionid
或csrftoken
Cookie。我没有想法,这就是我在这里寻求帮助的原因,提前谢谢。
答案 0 :(得分:1)
您无法在其他域上获取Cookie,因为所有Cookie都是针对每个域设置的,这是出于安全原因。
如果要访问其他域中的会话和Cookie,则必须复制它们。您可以通过发送一些带有特殊令牌的请求(用于验证)并在django中创建视图来创建视图,该视图将从某个存储中获取数据,基于该令牌并填充用户cookie,因此在下次请求时它们将可用。