今日内容 AJAX知识点

  • AJAX简介

AJAX 全名 async javascript and XML(异步JavaScript和XML)

AJAX 不是新的编程语言,而是一种使用现有标准的新方法。

AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容

AJAX 不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行

AJAX 是⼀个默认异步执⾏机制的功能,AJAX分为同步(async = false)和异步(async = true)
   同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求;
   异步交互:客户端发出一个请求后,无需等待服务器响应结束,就可以发出第二个请求。

  • AJAX语法

ajax其实就是js自带的功能 不是一门新的技术点 我们学习的是jQuery封装之后版本
基础语法:

$.ajax({
        url:'',   // 控制数据的提交地址  等价于form表单中的action参数
        type:'',  // 控制请求方式(默认get请求)  等价于form表单的method参数
        data:{},  // 组织提交的数据  要发给后端的数据
        success:function(形参){     // 形参args就是用于接受后端返回的数据
                异步回调函数
        }
    })
  • AJAX数据编码格式

Content-Type
前后端传输数据的编码格式有三种:
1.urlencoded 2.formdata 3.json

// AJAX默认的编码格式是urlencoded
// 数据格式: 
name=jason&password=123&hobby=read
//django后端对符合urlencoded编码格式的数据都会自动帮你解析封装到request.POST中
rname=jason&password=123&obby=read----->request.POST

格式2:formdata

// formdata数据格式是二进制的无法查看
// django后端自动将文件数据处理到request.FILES 普通数据

格式3.json

// 数据格式: json格式
// django后端不会处理 在request.body中存储(bytes类型) 自己处理
// 语法注意事项:
data: JSON.stringify({'name':'jason','pwd':123}),
contentType:'application/json',
  • AJAX携带文件数据

$('#d3').click(function () {
        // 1.产生内置对象
        let formData = new FormData();
        // 2.添加普通数据
        formData.append('username',$('#d1').val())
        // 3.添加文件数据
        formData.append('file', $('#d2')[0].files[0])
        // 4.发送ajax请求
        $.ajax({
            url:'',
            type:'post',
            data:formData,
            contentType:false,  // 不使用任何编码
            processData:false,  // 不处理数据对象
            success:function (args) {
                
            }
        })
    })
  • django自带的序列化组件

def ser(request):
    #拿到用户表里面的所有的用户对象
    user_list=models.User.objects.all()
    #导入内置序列化模块
    from django.core import serializers
    #调用该模块下的方法,第一个参数是你想以什么样的方式序列化你的数据
    ret=serializers.serialize('json',user_list)
    return HttpResponse(ret)
posted @ 2022-09-07 22:13  你好你好你好丶  阅读(35)  评论(0)    收藏  举报