Day57
作者:互联网
今日总结
- 图书管理系统
- ajax简介
- ajax提交数据的多种类型
- ajax结合第三方组件实现删除功能的二次确认
ajax简介
ajsx可以在页面不刷新的情况下与后端数据交互
ajax本质其实是js代码,使用ajax需要先引入jQuery文件
# ajax与form表单的区别
ajax提交数据页面不用刷新 原始数据还在 处理数据的过程中不影响页面其他操作
form表单提交数据页面刷新 原始数据不在 并且处理数据的过程中无法做其他操作
$('#btn').click(function () {
// 获取两个框里面的数据
let i1Val = $('#i1').val();
let i2Val = $('#i2').val();
// 发送ajax请求传输数据
$.ajax({
url:'', // 不写默认就是当前页面所在的地址
type:'post', // 指定当前请求方式
data:{'i1':i1Val,'i2':i2Val}, // 请求携带的数据
success:function (args) { // 异步回调函数 后端有回复自动触发
$('#i3').val(args)
}
})
})
前后端传输数据编码格式
# urlencoded
数据格式:username=jason&password=123
默认的数据编码格式
django后端针对符合urlencoded编码格式的数据都会自动帮你解析封装到request.POST中
# formdata
数据格式:隐藏,看不到的
如果你把编码格式改成formdata,那么针对普通的键值对,还是解析到request.POST中,而将文件解析到request.FILES中
# json
数据格式:username=jason&password=123
django后端不会帮你处理json格式数据需要你自己去request.body获取并处理
# form表单无法发送json格式的数据
ajax发送json格式数据
ajax发送的数据类型一定是跟数据的编码一致的
# django后端不会帮你处理json格式数据需要你自己去request.body获取并处理
$('#d1').click(function () {
$.ajax({
url:'',
type:'post', // 不写默认也是get请求
contentType:'application/json', // 不写默认是urlencoded编码
data:JSON.stringify({'name':'jason','pwd':123}), // 序列化方法
success:function (args) {
}
})
})
ajax携带文件数据
$("#d1").click(function () {
// 需要利用内置js内置对象FormData
let myFormData = new FormData();
// 对象添加普通数据
myFormData.append('username',$('#name').val())
myFormData.append('password',$('#pwd').val())
// 对象添加文件数据
myFormData.append('my_file',$('#file')[0].files[0])
// 发送ajax请求
$.ajax({
url:'',
type:'post',
data:myFormData,
// 携带文件必须要指定的两个参数
contentType:false, # 不使用任何编码 django后端自动识别formdata对象
processData:false, # 告诉浏览器不对你的数据进行任何处理
success:function (args) {
// 处理异步回调返回的结果
}
})
})
今天笔记不多但是有个很重要的图书系统
标签:function,val,json,ajax,格式,数据,Day57 来源: https://www.cnblogs.com/ymxda9/p/16290861.html