ajax处理csrf的三种方式

方式一:

$.post({
        url: '/get_result/',
        data: {
             value0: $('#v1').val(),
             value1: $('#v2').val(),
             csrfmiddlewaretoken: '{{ csrf_token }}'
               },
       success: function (data) {
            if (data) {
                $('#v3').val(data);
                swal("操作成功!", "成功算出结果","success");
             }
         })

方式二:

{% csrf_token %}
<input type="text" id="v1"> + <input type="text" id="v2"> = <input type="text" id="v3">
<p><input type="submit" value="提交" id="smt"></p>
$.post({
         url: '/get_result/',
         data: {
             value0: $('#v1').val(),
             value1: $('#v2').val(),
             csrfmiddlewaretoken:$('[name="csrfmiddlewaretoken"]').val()
         },
         success: function (data) {
             if (data) {
                 $('#v3').val(data);
                 swal("操作成功!", "成功算出结果", "success");
             }
         }
     })

方式三:

<script src="https://cdn.bootcss.com/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>


$.post({
        url: '/get_result/',
        headers:{'X-CSRFToken':$.cookie('csrftoken')},
        data: {
            value0: $('#v1').val(),
            value1: $('#v2').val()
        },
        success: function (data) {
            if (data) {
                $('#v3').val(data);
                swal("操作成功!", "成功算出结果", "success");
            }
        }
    })
原文地址:https://www.cnblogs.com/zhang-can/p/8058495.html