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

通过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)

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

时间: 2024-08-03 10:25:18

ajax请求中 两种csrftoken的发送方法的相关文章

JdbcTemplate查询数据中两种处理结果集方法的简单比较

public List<Cat> listCats(){ //多条数据查询 String sql = "select id, name, description, mother_id, createDate from tbl_cat"; /*//方法1.使用RowMapper<Cat>处理结果集 return jdbcTemplate.query(sql, new RowMapper<Cat>(){ @Override public Cat mapR

objective-C 中两种实现动画的方法

第一种方法: [UIView beginAnimations:@"Curl"context:nil];//动画开始 [UIView setAnimationDuration:1.25];//动画持续时间 [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];//动画速度 [UIView setAnimationTransition: UIViewAnimationTransitionCurlUp//类型 forView:sel

js中两种实现排序的方法

<!DOCTYPE html><html><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="viewport" content="width=device-width; initial-scale=1

C#中Post请求的两种方式发送参数链和Body的

POST请求 有两种方式 一种是组装key=value这种参数对的方式 一种是直接把一个字符串发送过去 作为body的方式 我们在postman中可以看到 sfdsafd sdfsdfds public class KeyWordController : BaseController { private string listClassUrl = "http://192.168.1.171:8789/keywords/list_class"; public ActionResult L

ASP.NET MVC 实现AJAX跨域请求的两种方法

通常发送AJAX请求都是在本域内完成的,也就是向本域内的某个URL发送请求,完成部分页面的刷新.但有的时候需要向其它域发送AJAX请求,完成数据的加载,例如Google. 在ASP.NET MVC 框架里实现跨域的AJAX请求有几种方式可以实现,以下就介绍常用的两种方法. 1.     发送JSONP请求 客户端: JQuery对发送JSONP请求有很好的支持,客户端通过. ajax() 函数发送请求,其中需要制定 dataType 为“jsonp”  jsonpCallback 为指定的回调函

android 向服务器Get和Post请求的两种方式,android向服务器发送文件,自己组装协议和借助第三方开源

/** * @author [email protected] * @time 20140606 */ package com.intbird.utils; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream

Post请求的两种编码格式:application/x-www-form-urlencoded和multipart/form-data

在常见业务开发中,POST请求常常在这些地方使用:前端表单提交时.调用接口代码时和使用Postman测试接口时.我们下面来一一了解: 一.前端表单提交时 application/x-www-form-urlencoded 表单代码: <form action="http://localhost:8888/task/" method="POST"> First name: <input type="text" name="

springmvc 前端 发ajax请求的几种方式

一.传json单值或对象 1.前端 1 var data = {'id':id,'name':name}; 2 $.ajax({ 3 type:"POST", 4 url:"user/saveUser", 5 dataType:"json", 6 //contentType:"application/json", //不能添加这个头 7 data:data, //这里不能进行JSON.stringify,发送请求的数据在:fo

解决 SharePoint 2010 拒绝访问爬网内容源错误的小技巧(禁用环回请求的两种方式)

这里有一条解决在SharePoint 2010搜索爬网时遇到的“拒绝访问错误”的小技巧. 首先要检查默认内容访问帐户是否具有相应的访问权限,或者添加一条相应的爬网规则.如果目标资源库是一个SharePoint库,验证一下该帐号是否具有对该SharePoint web应用程序具有至少“完全读取”的权限. 当我在升级上来的SharePoint环境中对我新建的博客URL进行爬网时遇到了这个错误. 这个错误发生在当你运行Windows 2008 R2和SharePoint 2010并且爬网进程试图访问一