Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.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 发送请求时从何处获取值?_Javascript_Python_Ajax_Django - Fatal编程技术网

Javascript 发送请求时从何处获取值?

Javascript 发送请求时从何处获取值?,javascript,python,ajax,django,Javascript,Python,Ajax,Django,请帮忙解决这个问题 html: 问题在于日志中显示以下错误消息: 禁止(CSRF令牌丢失或不正确): /帐户/删除用户配置文件/ 对于表单,我将按如下方式发送令牌: $('#commonModalLabel').text('Удалить профиль?'); $('#commonModal .modal-body').html('Возможность восстановить профиль будет доступна в течение двух недель. Для восстан

请帮忙解决这个问题

html:

问题在于日志中显示以下错误消息:

禁止(CSRF令牌丢失或不正确): /帐户/删除用户配置文件/

对于表单,我将按如下方式发送令牌:

$('#commonModalLabel').text('Удалить профиль?');
$('#commonModal .modal-body').html('Возможность восстановить профиль будет доступна в течение двух недель. Для восстановления нужно отправить <a href="mailto:prozaik81-2@yandex.ru">администратору</a> ресурса письмо с почтового адреса, который был указан в профиле.');
$('#commonModal').modal('show');    

$('#commonModal .but_ok').on('click', function(){
    console.log('ok');

    $.ajax({
        url: "/accounts/delete_profile/",
        type: 'POST',
        dataType:"json",
        data: {},
        success: function(data) {
            if(data.result == true){
                $('#mySmallModalLabel').text('Профиль удалён');
                $('#infoModal').modal('show');
            }
        }
    });             
});
{% csrf_token %}

但就我而言,没有形式(!)。请告诉我从哪里获取令牌以及如何发送令牌,并将其放入AJAX请求中

    beforeSend: function(xhr, settings) {
        xhr.setRequestHeader("X-CSRFToken", $.cookie('csrftoken'));
    },
有时它在某些浏览器中不起作用(在我的例子中是chrome),因此您可以将这些添加到发送给查看的数据中:

data['csrfmiddlewaretoken'] = $.csrf_token; 
$.csrf_令牌
对我来说是一个全局对象,我将令牌直接打印到模板:

<script type="text/javascript">
    $.csrf_token = '{{ csrf_token }}';
</script>

$.csrf_token='{{csrf_token}}}';

中解释了您的问题


请注意,如果没有呈现任何表单,django可能不会发送csrf令牌,则必须使用确保\u csrf decorator

Javascript可能不会发送csrf令牌。您可能应该将它添加到
ajax()
调用中的
data:{}
属性中。您可以从MataTag获取该值。从何处获取该值?我也不在这里进行formCheck:我以这种方式发送C srf。这里没有描述是为了节省空间
data['csrfmiddlewaretoken'] = $.csrf_token; 
<script type="text/javascript">
    $.csrf_token = '{{ csrf_token }}';
</script>