首页 > 其他分享 >Ajax

Ajax

时间:2022-09-07 22:33:33浏览次数:76  
标签:request json Ajax 格式 序列化 数据

目录

Ajax

一、特点

异步提交,局部刷新

Ajax其实是js自带的功能,不是一门新的技术点,我们学习的是jQuery封装之后的版本,使用之前要先导入jQuery

二、Ajax和form表单的区别

form表单:

​ 每次提交数据都会刷新整个页面,将所有数据同时提交,同时校验

Ajax:

​ 异步提交,不会刷新整个页面

三、基础语法

$.ajax({
    url:'',  # 控制数据的提交地址
    type:'',  # 控制请求方式(默认get请求)
    data:{},  # 组织提交的数据
    success:function(){
        异步回调函数
    }
})

四、数据编码格式

Content-Type
格式1:urlencoded
	数据格式:name=zhang&pwd=123&hobby=read
    django后端统一处理到request.POST中

格式2:formdata
	数据格式:无法查阅
    django后端自动将'文件数据'处理到'request.FILES',将'普通数据'处理到'request.POST'
    
格式3:application/json
	数据格式:json格式
    django后端不会处理,在request.body中存储(bytes类型)自己处理
    # 语法注意事项
    data:JSON.stringify({'name':'zhang','pwd':123}),contentType:'application/json'

五、Ajax携带文件数据

$('#d3').click(function(){
    # 产生内置对象
    let formData = new FormData():
    # 添加普通数据
    formData.append('username',$('#d1').val())
    # 添加文件数据
    formData.append('file',$('#d2')[0].filees[0])
    # 发送Ajax请求
    $.ajax({
        url:'',
        type:'post',
        data:formData,
        contentType:false,  # 不使用任何编码
        processData:false,  # 不处理数据对象
        success:function(args){
            回调函数
        }
    })
})

六、回调函数

​ 后端跟Ajax交互,不应该在返回页面,通常情况下都是返回json格式数据

​ 前端针对HttpResponse和JsonResponse返回的json格式数据处理策略不同

​ ​HttpResponse:不会自动反序列化;

JsonResponse:会自动反序列化;

HttpResponse自动反序列化需要添加一个固定参数:dataType:'JSON'

七、序列化

def ser(request):
    # 拿到用户表里面所有的用户对象
    user_list=models.User.objects.all()
    # 倒入内置序列化模块
    from django.core import serializers
    # 调用该模块下的方法,第一个参数是序列化数据的方式
    ret=serializers.serialize('json',user_list)
    return HttpResponse(ret)

标签:request,json,Ajax,格式,序列化,数据
From: https://www.cnblogs.com/Zhang614/p/16667553.html

相关文章

  • 什么是Ajax?全面了解?
    目录1.什么是Ajax?2.Ajex的优点3.Ajax工作原理4.基本语法5.数据编码格式6.ajax携带文件数据7.回调函数我们知道,前端页面想要和后端进行数据交互,可以通过以下方式将参数添......
  • ajax
    一、Ajax'''页面不刷新的情况下可以与后端进行数据交互异步提交局部刷新eg:码云用户注册无序点击按钮内部也可以完成数据交互ajax不是一门全新知识本质......
  • ajax实现发送邮件验证码倒计时功能
    1.实现的效果:   2.前台页面+js1<!DOCTYPEhtml>2<html>3<head>4<metacharset="utf-8">5<title></title>6</head>7......
  • 前端不缓存,ajax不缓存,js操作cookie
    前端不缓存,ajax不缓存,js操作cookie 今天实现网站注销功能时,需要清除cookie缓存,开始在网上搜索的是“js清除缓存”,发现很多都是预先防患缓存存储的内容,千篇一律,不过也......
  • SpringMVC响应Ajax请求
    在分享今天的这个知识点之前先回顾一下使用ajax的目的:实现异步请求,客户端发送的请求携带数据到达服务器,服务器接收到请求后进行处理,然后返回处理后的数据。客户端接收到返......
  • Python3项目初始化10-->前端基础jquery、ajax,sweetalert--更新用户改造
    33、JS基础-ajax_post截止目前,完成了登录,创建和删除,“编辑”这块还是老的信息。打开a、点击编辑=>(内容)=>dialogb、内容=>后端ajax 页面上遍历用户时......
  • Python3项目初始化10-->前端基础jquery、ajax,sweetalert--创建用户删除用户改造
    32、JS基础-dmodal点击“创建”,不调整新页面操作,直接弹出框操作。modals弹框指示页面:https://v3.bootcss.com/javascript/#modals拷贝代码,父节点在body里面。<aclass=......
  • 介绍下 ajax
    Ajax能够实现和服务器交换数据并让页面局部更新ajax相比于传统的方式是相当于在服务器和客户端之间多了一层中间层ajax引擎,使用户和服务器操作异步化  传统方式中用......
  • vue中Promise的使用方法详情 vue中 ajax 同步执行
    vue中Promise的使用方法详情目录一、使用1.promise是一种异步解决方案2.asyncawait简介:promise是什么,它可以说是异步编程的一种解决方法,就拿传统的ajax发请求来说,单个......
  • SpringMVC 03: 请求和响应的乱码解决 + SpringMVC响应Ajax请求
    请求或响应的中文乱码问题tomcat9解决了get请求和响应的中文乱码问题,但是没有解决post请求或响应的中文乱码问题tomcat10解决了get和post请求以及响应的中文乱码问题......