我有一个Django网站,我正在尝试在AJAX调用的响应中设置一个cookie。因为现在有人在回答Cookies not working with an AJAX call from jQuery to Django
,所以我提出的问题更为笼统在客户端,我有一个JavaScript函数向URL发送GET请求:
$.ajax({
url: url,
success: function(data) {
alert('Load was performed.');
}
});
在服务器端,我有代码设置cookie:
def vote(request, slug, rating):
# Some irrelevant code...
response = HttpResponse('Vote changed.')
response.set_cookie('vote', 123456)
return response
我在jQuery代码中得到了响应,但问题是cookie从未在浏览器中设置。
我做错了什么?
谢谢!
答案 0 :(得分:3)
尝试创建指定过期日期的cookie,如下所示:
var max_age = 14*24*60*60 # two weeks
expires = datetime.datetime.strftime(datetime.datetime.utcnow() + datetime.timedelta(seconds=max_age), "%a, %d-%b-%Y %H:%M:%S GMT")
response.set_cookie('vote', 123456, max_age=max_age, expires=expires)
道歉,如果示例有点偏离 - 自从我使用Django以来已经有一段时间了,并且不得不谷歌使用cookie /日期语法。