我已经在模板中使用csrf标签制作了表格:
<form id="appl_detail13" action="/13/devices/" method="post">
<input type="hidden" name="csrfmiddlewaretoken" value="gTOpBTi6rljV5dKsGE0kuzD1IkghAlzW7GdiBZw6pMMaMUxJSlVev5YqPef6jhjb">
<input name="appl_checkbox" id="5" type="checkbox" class="form-check-input applcheck" value="13">
</form>
我的视图接受请求并应发送JSON。
def ApplicationDetail(request, application_id):
if request.method == 'POST':
device = Device.objects.all().filter(application_id=application_id)
data = serializers.serialize('json', device)
return HttpResponse(data, content_type='application/json')
else:
return HttpResponse('no posted')
在复选框上单击,我执行ajax请求,但是我不发送csrf令牌:
$(".applcheck").click(e=>{
$.post(requestUrl, data=> {
console.log(data)
})
})
所以我得到以下错误:
P.S。我知道有很多关于此的教程,但是其中许多已经过时,并且链接断开。
POST
的形式提交表单,则必须在表单中添加csrf令牌-