【发布时间】:2017-08-01 06:57:17
【问题描述】:
我使用 javascript document.cookie = ... 设置了一些 cookie,然后尝试使用 request.COOKIES 在 Django (1.8) 视图中检索它们。但是,当我将结果打印到控制台时,它只是一个空字典。
我几周前编写了这段代码,我很确定它当时可以工作,但现在我又回到它坏了。 Cookie 在浏览器控制台的应用程序窗口中可见,我可以使用 Javascript 检索它们,而不是 Django。
我已阅读文档并尝试更改我的设置,但看不出有什么影响。任何关于我下一步应该看哪里的建议将不胜感激。
我没有提供任何代码,因为我不知道问题出在哪里,而且我的应用程序也不小。只是寻找一种途径来探索为什么 request.COOKIES 没有返回任何内容。
谢谢
编辑 2: 这只发生在 Chrome 上。 Safari 正在按预期返回 cookie。
编辑 1: 用于设置 cookie 的 JavaScript 函数:
function setcookie(cookieName,cookieValue) {
var today = new Date();
var expire = new Date();
expire.setTime(today.getTime() + 3600000*24*14);
document.cookie = cookieName + "=" + cookieValue + ";expires="+expire.toGMTString() + "; path=/";
}
这样实现的:
setcookie('areaMain', 'map)
标签中的 Cookie:
https://i.stack.imgur.com/rP3me.png
然后尝试在视图中查看它们:
def index(request):
cookies = request.COOKIES
print(cookies)
返回{}
【问题讨论】:
-
您的前后端口是否相同?您可以在问题中添加更多代码吗?
-
我没有在任何地方更改端口,所以如果默认情况下它们相同,我认为它们是相同的。我的页面正在渲染,但我无法检索 cookie。
标签: python django cookies django-views