在django项目中通常后端在接收到post请求时都会在CsrfViewMiddleware中校验csrf_token,如果前端的post请求没有携带csrf_token参数,后端就会报错,缺少csrf_token。
1、表单提交Post请求,隐藏字段就保存的csrf_token的值;
2、有些情况除了表单参数还有其他数据:
(1)获取表单对象,直接往表单对象添加数据,然后提交;
(2)自己组装JSON格式的数据,通过ajax发起请求,直接把csrf_token做为一个参数即可:
var post_data = {
"name": "zhangsan",
"age": 18,
"csrfmiddlewaretoken": "{{ csrf_token }}"
}
(3)ajax钩子函数
$.ajaxSetup({
data: {csrfmiddlewaretoken: '{{ csrf_token }}'}
});
版权声明:本文为zy_whynot原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。