0

当我使用普通(不是 ajax)请求时,我会:

from django.shortcuts import redirect
from django.http import JsonResponse

response = redirect('/some_page')
response.set_cookie(key='key1', value='value1', max_age=3600) 
response.set_cookie(key='key2', value='value2', max_age=3600) 
return response

它可以工作并且设置了cookie。

虽然,当我使用 ajax 请求时,我的视图返回如下内容:

return JsonResponse({'res': 'success'})

而且我不知道如何设置cookie,何时JsonResponse返回?

4

1 回答 1

2

redirect('/some_page')正在返回 aHttpResponse并且JsonResponse是 的子类HttpResponse

所以,你也可以在set_cookie(...)这里使用相同的方法

def sample_view(request):
    response = JsonResponse({"foo": "bar"})
    response.set_cookie(key='key1', value='value1', max_age=3600)
    return response
于 2020-10-16T13:25:43.857 回答