微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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) {
                // 处理异步回调返回的结果
            }
        })
    })

今天笔记不多但是有个很重要的图书系统

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐