django 中 csrf问题 的解决方法

crsf 解决几个关键方法,

1 模板文件 ,使用form的  添加  {%csrf_token%}

2 setting 文件

'django.middleware.csrf.CsrfViewMiddleware',

3 views 需要response 回去的函数 , 使用修饰 @csrf_exempt

4 ajax

function getCookie1(name)

{
    var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");

    if(arr=document.cookie.match(reg))

        return unescape(arr[2]);
    else
        return null;
}

function getAjaxData(queryCondition,gridOpts)
        {
            result = "return v" ;
$.ajax({
        async: false,
        url: ' www.dreammm.net/test/',
         headers: { "X-CSRFToken": getCookie1("csrftoken") },
        type: 'post', //数据发送方式
        dataType: 'json', //接受数据格式 (这里有很多,常用的有html,xml,js,json)
        data: {
            'pageSize': gridOpts.pageSize,
            'pageNumber': gridOpts.pageNumber,
             'queryCondition': queryCondition,
            'csrfmiddlewaretoken': getCookie1("csrftoken")

        }, //要传递的数据
        error: function () { //失败
            alert('Error loading document');
        },
        complete: function () { //complete
            //alert('complete ');
        },
        success: function (res) { //成功
            //alert('getAjaxData success ');
            //return "hello";
            result = res;

        }//success: function (res) { //成功

    }); //$.ajax({

            return result;

        }//getAjaxData

转载于:https://my.oschina.net/lvguanglin/blog/994842

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值