ajax处理csrf的三种方式

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

1
2
3
4
5
6
7
8
9
10
11
12
13
$.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两个值都有

1
2
3
{% 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> 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$.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 值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<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");
            }
        }
    })

  

posted @   EricYJChung  阅读(216)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示