分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

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

发布时间:2023-09-06 02:26责任编辑:熊小新关键词:暂无标签

通过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的发送方法

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

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved