Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何为不使用jQuery的Ajax请求添加CSRF令牌_Javascript_Django_Ajax_Csrf - Fatal编程技术网

Javascript 如何为不使用jQuery的Ajax请求添加CSRF令牌

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

我想使用Ajax请求将一些数据从javascript文件发送到Django应用程序中的视图文件。但是,我只使用Javascript,因为我不熟悉jQuery,现在不知道如何添加CSRF令牌

以下是我的Javascript代码:

    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令牌丢失或不正确)