Javascript 如何为不使用jQuery的Ajax请求添加CSRF令牌
我想使用Ajax请求将一些数据从javascript文件发送到Django应用程序中的视图文件。但是,我只使用Javascript,因为我不熟悉jQuery,现在不知道如何添加CSRF令牌 以下是我的Javascript代码:Javascript 如何为不使用jQuery的Ajax请求添加CSRF令牌,javascript,django,ajax,csrf,Javascript,Django,Ajax,Csrf,我想使用Ajax请求将一些数据从javascript文件发送到Django应用程序中的视图文件。但是,我只使用Javascript,因为我不熟悉jQuery,现在不知道如何添加CSRF令牌 以下是我的Javascript代码: const request = new XMLHttpRequest(); request.open("POST", "/list"); var csrftoken = Cookies.get('csrftoken'); let
const request = new XMLHttpRequest();
request.open("POST", "/list");
var csrftoken = Cookies.get('csrftoken');
let data = {
items: JSON.stringify(items)
}
request.setRequestHeader( 'X-CSRF-TOKEN', csrftoken);
request.send(data);
我尝试过使用Cookies.get('csrftoken')
和getCSRFTokenValue()
但是我不确定一旦获得了令牌如何发送
开发人员控制台中显示:
加载资源失败:服务器响应状态为403(禁止)
如果其中没有表单标记,则必须添加csrf\u令牌,因此必须在查看之前添加装饰器
@csrf_exempt
Def your_view(request):
如果其中没有表单标记,则必须添加csrf_标记,因此必须在视图之前添加装饰器
@csrf_exempt
Def your_view(request):
request.setRequestHeader('X-CSRF-TOKEN',theToken)代码>它仍然表示禁止(csrf令牌丢失或不正确)request.setRequestHeader('X-csrf-token',theToken)代码>仍显示禁止(csrf令牌丢失或不正确)