一,Ajax GET请求和POST请求知识点
1,GET请求不用添加 {% csrf_token%} ,也不会报csrftoken的错
2,POST请求的话,就需要添加 {% csrf_token%} 标签, 而且要使用$.ajax() 方法,将token传递到服务端
3,传递过去就行了,后台自动会处理,无需用手工处理这个token
二,以下是代码示例
以下是index.html代码示例(里面有使用ajax,GET和POST方法的代码示例)
1
2
3
4
5
6
7
AJAX局部刷新实例
8
9
10
11
12 {% csrf_token %}13 +14 =15
16
17
18
19
20
21 xxxxxxxxxxxx
22
23
24
25
26 //添加点击事件,定义回调函数,当点击#b1元素时,则执行函数
27 $("#b1").on("click",function() {28 $.ajax({29 url:"/ajax_add/",//要跳转到哪里,所以就没有必要再使用form表单的跳转和提交了
30 type:"GET",//可以使用POST,或GET都可以
31 data:{"i1":$("#i1").val(),"i2":$("#i2").val()},//使用jquery获取DOM元素的值,并传递到后端
32 success:function(data) {//发送AJAX请坟成功后,执行回调函数,data则是获取的后端数据,
33 $("#i3").val(data);//给DOM元素设置值
34 }35 })36 })37 //jquery ajax使用 POST方法提交,则必须把CSRF_TOKEN也传递到服务器(这样才是完全和form表单提交的方式一样)
38 //如果是使用get方法提交,则就不需要csrf_token,
39 $("#b2").on("click",function() {40 //找到页面上的CSRF_TOKEN,name属性值应该都一样,
41 //使用jquery语法,根据name属性找到元素,再使用val方法获取值
42 varcsrfToken=$("[name='csrfmiddlewaretoken']").val();43 $.ajax({44 url:"/ajax_add2/",//要跳转到哪里,所以就没有必要再使用form表单的跳转和提交了
45 type:"POST",//可以使用POST,或GET都可以
46 //使用jquery获取DOM元素的值,并传递数据到后端
47 data:{"i1":$("#i1").val(),"i2":$("#i2").val(),'csrfmiddlewaretoken':csrfToken},48 success:function(data) {//发送AJAX请坟成功后,执行回调函数,data则是获取的后端数据,
49 $("#i3").val(data);//给DOM元素设置值
50 }51 })52 })53 //以下事件是点击后使用,使用jqurey创建一个IMG标签,并添加上,
54 $('#b3').on('click',function(){55 $.ajax({56 //url:'/test/',
57 //type:'get',
58 success:function(a){59 //在页面上创建一个标签
60 varmyimg=$("").attr('src','/static/1.jpg');61 $('#d1').append(myimg);62 }63 })64 })65
66
67
68