码迷,mamicode.com
首页 > Web开发 > 详细

ajax请求中 两种csrftoken的发送方法

时间:2018-12-16 11:52:14      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:data   字符串   默认   cli   选择   style   NPU   input   func   

通过ajax的方式发送两个数据进行加法运算

html页面

<body>
<h3>index页面 </h3>

<input type="text" name="cal_1">+
<input type="text" name="cal_2">=
<input type="text" name="cal_3">
<button id="b2">计算</button>

<script src="/static/js/jquery.js"></script>
{#<script src="/static/js/ajax_setup.js"></script>#}

<script>
    $("#b2").click(function () {
        $.ajax({
            url: "/cal2/",//提交的地址
            type: "post",
            //csrftoke 可以通过headers获取, 也可以通过data获取,选择一种发送方式
            {#headers:{"X-csrftoken":$("[name=‘csrfmiddlewaretoken‘]").val()},#}

            {#headers:{‘X-csrftoken‘:csrftoken,},#}
            //(获取的是cookie里的token的值,跟上一行效果一样一样,但是要引src="/static/js/ajax_setup.js")

            data: {
                i1: $("[name=‘cal_1‘]").val(),//获取标签里的值
                i2: $("[name=‘cal_2‘]").val(),

                "csrfmiddlewaretoken": $("[name=‘carfmiddlewaretoken‘]").val(),

                {#"csrfmiddlewaretoken":csrftoken,#}
                //(获取的是cookie里的token的值,跟上一行效果一样一样,但是要引src="/static/js/ajax_setup.js")
            },
            success: function (response) {
                $("[name=‘cal_3‘]").val(response) // 给cal_3赋值
            },
            error: function (response) {

            },
        })

    });

</script>

</body>

csrf的发送可以在headers里面发送,也可以在data里面发送.   不管在哪发送,都有两种发送形式.

第一种方式就是直接在headers 或者 data 获取值,然后发送

    $("#b2").click(function () {
        $.ajax({
            url: "/cal2/",//提交的地址
            type: "post",
            //csrftoke 可以通过headers获取, 也可以通过data获取,选择一种发送方式
            headers:{"X-csrftoken":$("[name=‘csrfmiddlewaretoken‘]").val()},
 data: {
                i1: $("[name=‘cal_1‘]").val(),//获取标签里的值
                i2: $("[name=‘cal_2‘]").val(),

                "csrfmiddlewaretoken": $("[name=‘carfmiddlewaretoken‘]").val(),

第二种方式就是引入ajax_setup文件发送. 也是可以通过headers 或者 data

<script src="/static/js/ajax_setup.js"></script>

<script>
    $("#b2").click(function () {
        $.ajax({
            url: "/cal2/",//提交的地址
            type: "post",
            //csrftoke 可以通过headers获取, 也可以通过data获取,选择一种发送方式
            {#headers:{"X-csrftoken":$("[name=‘csrfmiddlewaretoken‘]").val()},#}

            headers:{‘X-csrftoken‘:csrftoken,},
            //(获取的是cookie里的token的值,跟上一行效果一样一样,但是要引src="/static/js/ajax_setup.js")

<script src="/static/js/ajax_setup.js"></script>

data: { i1: $(
"[name=‘cal_1‘]").val(),//获取标签里的值 i2: $("[name=‘cal_2‘]").val(), {#"csrfmiddlewaretoken": $("[name=‘carfmiddlewaretoken‘]").val(),#} "csrfmiddlewaretoken":csrftoken, //(获取的是cookie里的token的值,跟上一行效果一样一样,但是要引src="/static/js/ajax_setup.js") },

 

在veiws都一样

#发ajax计算
def cal2(request):
    i1=request.POST.get("i1","") # 如果有值就获取,如果没有值就默认获取空字符串  这里的i1 对应的是前端data 里面 i1:$("[name=‘cal_1‘]").val()的i1
    i2=request.POST.get("i2","")
    print("i1:",i1)
    print("i2:",i2)
    if i1 and i2:
        i3=int(i1)+int(i2)
    else:
        i3=""
    return HttpResponse(i3)

 

ajax请求中 两种csrftoken的发送方法

标签:data   字符串   默认   cli   选择   style   NPU   input   func   

原文地址:https://www.cnblogs.com/kenD/p/10125962.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!