ajax
发送请求的途径:
1.a标签 GET
2.form标签 GET/POST
3.地址栏中输入地址回车 GET
ajax:
1.使用js的技术-----发送请求的一种方式
2.特点: 异步 页面局部刷新 传输的数据量小
参数:
$.ajax({
url: '/ajax_test/', #请求的地址
type:'post', #请求的方式
data:{ #请求的数据
name:'alex',
age:'32',
hobby:JSON.stringify(['hello','你好','早啊'])
},
success:function(res){ #正常响应的回调函数
$('[name="ii3"]').val(res)
},
error:function(res){ #错误响应的回调函数
}
})
上传文件:
$('#b1').click(function() {
var form_obj=new FormData();
form_obj.append('f1',$('[name="f1"]')[0].files[0])
$.ajax({
url:'/upload/',
type:'post',
processData:false, #不需要处理数据编码格式
contentType:false, #不需要处理请求头
data:from_obj,
success:function(res){
alert(res)
}
})
})
ajax可以提交POST请求的方式:
1.页面中使用{% csrf_token %},给POST提交数据中添加csrfmiddlewaretoken的键值对
data:{
'csrfmiddlewaretoken':$('[name="csrfmiddlewaretoken"]').val(),
i1:$('[name="i1"]').val(),
i2:$('[name="i2"]').val()
},
2.添加X-csrftoken的请求头
headers:{
'X-csrftoken':$('[name="csrfmiddlewaretoken"]').val(),
},
3,写文件
从cookie中获取值,添加到请求头中
必须确保有csrftoken的cookie
from django.views.decorators.csrf import ensure_csrf_cookie