django-ajax请求
前言
django框架默认继承了防CSRF(英文:Cross-site request forgery)攻击的中间件,也就是每次页面请求都会随机生成一个符串又称CSRF_TOKEN,这是一个很实用的功能,推荐开启,但是开启此中间件,如果不在请求(POST)里附带CSRF_TOKEN值,请求就会被拦截掉。初次接触时,上网看了很多解决方案都不太正确,特此整理一下。
一、解决方案
ajax请求
1.ajax全局设置
在当前页面body标签结束前加
<script type="text/javascript">
var token = "{
{ csrf_token }}"
$.ajaxSetup({
headers: {
'X-CSRFTOKEN': `${
token}` }, // 这里是headers,不是data
})