• ajax中发送csrf的方法,(django环境)


    获取csrf随机字符串的方法:

    1. 通过其name=“csrfmiddlewaretoken”,来获取如:
      document.getElementsByName("csrfmiddlewaretoken")[0] 
      2 $('input[name="csrfmiddlewaretoken"]') 或$('[name="csrfmiddlewaretoken"]') 
      3  或者获得cookie中的csrf字符串 :

      document.cookie.split('=')[1]
      "cL0Jg0YRoof8VUDvUDDONyMoAxEANALqlYY0lp3w9nIG4JVd9yioSA9r0rSbHH0F"

      或引入jQuery,后:

      $.cookie('csrftoken')
      "cL0Jg0YRoof8VUDvUDDONyMoAxEANALqlYY0lp3w9nIG4JVd9yioSA9r0rSbHH0F"

    如何发送到后台

      首先,cookie中取到的字符串和获取标签值得到的字符串是不同的。

      然后发送标签字符串:

     

    $('#submit').on('click',function () {
    var stingCsrf=$('[name="csrfmiddlewaretoken"]').val();
    var stingText=$('[name="test"]').val();

    $.ajax({
    url:'/csrftext/',
    type:'POST',

    data:{'user':stingText,'csrfmiddlewaretoken':stingCsrf},
    success:function (arg) {
    console.log(arg);
    }

    });
    })

      发送cookie中csrf字符串:

    $('#submit').on('click',function () {
            var stingCsrf=$.cookie('csrftoken');      {#获取csrftoken字符串#}
            var stingText=$('[name="test"]').val();
            $.ajaxSetup({
                beforeSend: function(xhr, settings) {
                        xhr.setRequestHeader("X-CSRFToken", stingCsrf); {#设置post请求头部,加入csrf字符串#}
                    }
            });
            $.ajax({
                url:'/csrftext/',
                type:'POST',
                data:{'user':stingText},
                success:function (arg) {
                    console.log(arg);
                }
    
            });
        })
    

      

  • 相关阅读:
    【工具】使用Google搜索的一些技巧
    git merge和rebase合并分支的区别
    《人月神话》读后感
    记录 Vue 中遇见的坑
    chrome信任http
    sed命令替换配置文件
    中控考勤机IP能ping通,但是同过接口连接不上的解决版本
    如何启动解压版的Tomcat6.0
    服务器获取客户端ip
    linux 增加权限
  • 原文地址:https://www.cnblogs.com/yuanji2018/p/9914625.html
Copyright © 2020-2023  润新知