其他分享
首页 > 其他分享> > ajax处理csrf的三种方式

ajax处理csrf的三种方式

作者:互联网

方式一:模板语法  注:实际测试中页面 csrftoken 和 csrfmiddlewaretoken两个值都有

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

  

方式二:标签取值   注:实际测试中页面 csrftoken 和 csrfmiddlewaretoken两个值都有

{% 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> 

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

 

方式三:js插件  注:实际测试中页面只有 csrftoken 值

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


$.ajax({
        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");
            }
        }
    })

  

标签:val,success,ajax,三种,csrf,csrftoken,csrfmiddlewaretoken,data
来源: https://www.cnblogs.com/ericyjchung/p/16200313.html