当返回 "JsonResponse" 时,为 ajax 请求设置 cookie
Set cookies for ajax request, when "JsonResponse" is returned
当我使用正常(不是 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 请求时,我的观点 returns 类似于:
return JsonResponse({'res': 'success'})
我不知道,当返回 JsonResponse
时,如何设置 cookie?
redirect('/some_page')
返回一个 HttpResponse
and JsonResponse
是 HttpResponse
的子类。
所以,你也可以在这里使用相同的set_cookie(...)
方法
def sample_view(request):
response = JsonResponse({"foo": "bar"})
<b>response.set_cookie(key='key1', value='value1', max_age=3600)</b>
return response
当我使用正常(不是 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 请求时,我的观点 returns 类似于:
return JsonResponse({'res': 'success'})
我不知道,当返回 JsonResponse
时,如何设置 cookie?
redirect('/some_page')
返回一个 HttpResponse
and JsonResponse
是 HttpResponse
的子类。
所以,你也可以在这里使用相同的set_cookie(...)
方法
def sample_view(request):
response = JsonResponse({"foo": "bar"})
<b>response.set_cookie(key='key1', value='value1', max_age=3600)</b>
return response