Ajax提交携带csrf_token的post请求

  • Post author:
  • Post category:其他


在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 版权协议,转载请附上原文出处链接和本声明。