当前位置: 首页 > article >正文

ajax学习笔记

文章目录

      • AJAX
        • 一、ajax用处
        • 二、axios使用语法
        • 三、认识url
          • 1、定义
          • 2、url组成
          • 3、url查询参数
        • 四、常用请求方法
          • 1、axios请求配置
        • 五、HTTP响应状态码
        • 六、HTTP响应报文的组成
        • 七、form-serialize插件
          • 1、注意事项
        • 八、bootstrap弹框使用
          • 1、弹框使用步骤
        • 九、图书管理
          • 1、渲染列表
        • 十、图片上传
        • 十一、Promise
          • 1、定义:用于表示异步操作的最终完成(或失败)及其结果值
          • 2、好处:
          • 3、语法
          • 4、promise对象三种状态
        • 十二、同步和异步
          • 1、同步:逐行执行,需原地等待结果后,才继续向下运行
          • 2、异步:调用后耗时,不阻塞代码继续执行(不必原地等待,在将来完成后触发一个回调函数)
        • 十三、回调函数地狱
          • 1、概念:在回调函数中嵌套回调函数,一直嵌套下去就形成了回调函数地狱
          • 2、缺点:可读性差,异常无法捕获,耦合性严重,牵一发而动全身
        • 十四、Promise - 链式调用(可有效解决回调地狱问题)
        • 十五、async函数和await
          • 1、捕获错误
        • 十六、事件循环
          • 1、概念:JS有一个基于事件循环地并发模型,事件循环负责执行代码、收集和处理事件以及执行队列中的子任务。
          • 2、原因:JS是单线程的,为了让耗时代码不阻塞其他代码运行,设计了事件循环模型
          • 3、执行过程

AJAX

一、ajax用处

浏览器和服务器之间通信,动态数据交互

二、axios使用语法
  • 引入axios.js:http://cdn.jsdelivr.net/npm/axios/dist/axios.min.js

  • 使用axios函数:

    • 传入配置对象
    • 使用.then回调函数接受结果,并作后续处理
      在这里插入图片描述
三、认识url
1、定义

统一资源定位符,简称网址

2、url组成

在这里插入图片描述

3、url查询参数
  • 定义:浏览器提供给服务器的额外信息,让服务器返回浏览器想要的数据

在这里插入图片描述

  • 语法:

    • 使用axios提供的param选项

    在这里插入图片描述

四、常用请求方法

在这里插入图片描述

1、axios请求配置
  • url
  • method:请求的方法,get可以省略
  • data:提交数据

在这里插入图片描述

五、HTTP响应状态码

在这里插入图片描述

六、HTTP响应报文的组成
  • 响应行:协议、HTTP响应状态码、状态信息
  • 响应头:以键值对的格式携带的附加信息,比如Content-Type
  • 空行:分隔响应头,空行之后的是返回给浏览器的资源
  • 响应体:返回的资源
七、form-serialize插件
  • 作用:快速收集表单元素的值

  • 语法:

在这里插入图片描述

1、注意事项
  • 参数一:要收集哪个表单的数据
    • 表单元素设置name属性,值会作为对象的属性名
    • 建议name属性的值,最好和接口文档参数名一致
  • 参数二:配置对象
    • hash 设置获取数据结构
      • true:JS对象 一般请求体里提交给服务器
      • false:查询字符串
    • empty:设置是否获取空值 推荐获取空值
八、bootstrap弹框使用
1、弹框使用步骤
  • 引入css和js库,且初始不可见
  • 通过自定义属性,控制弹框的显示和隐藏:

在这里插入图片描述

九、图书管理
1、渲染列表

自己的图书数据:给自己起个外号,并告诉服务器,默认会有三本书,基于这三本书做数据的增删改查

  • 方法:
axios({
    url:'……'
    params: {
    creator: '....'
}
})
十、图片上传
  • 获取图片文件对象
  • 使用FormData携带图片文件

在这里插入图片描述

  • 提交表单数据到服务器,使用图片url地址
十一、Promise
1、定义:用于表示异步操作的最终完成(或失败)及其结果值
2、好处:
  • 逻辑更清晰
  • 了解axios函数内部运作
  • 能解决回调函数地狱的问题
3、语法

在这里插入图片描述

4、promise对象三种状态

在这里插入图片描述

十二、同步和异步
1、同步:逐行执行,需原地等待结果后,才继续向下运行
2、异步:调用后耗时,不阻塞代码继续执行(不必原地等待,在将来完成后触发一个回调函数)
十三、回调函数地狱
1、概念:在回调函数中嵌套回调函数,一直嵌套下去就形成了回调函数地狱
2、缺点:可读性差,异常无法捕获,耦合性严重,牵一发而动全身
十四、Promise - 链式调用(可有效解决回调地狱问题)
  • 概念: 依靠then方法会返回一个新生成的Promise对象特性,继续串联下一环任务,直到结束
  • 细节: then()回调函数中的返回值,会影响新生成的Promise对象最终状态和结果
  • 做法: 每个Promise对象中管理一个异步任务,用then返回Promise对象,串联起来

在这里插入图片描述

十五、async函数和await

可以让我们用一种更为简洁的方式写出基于Promise的异步行为而无需可以地链式调用Promise

  • 概念:在async函数内使用await关键字取代then函数,等待获取Promise对象成功状态返回值

在这里插入图片描述

1、捕获错误

try…catch使用

在这里插入图片描述

十六、事件循环
1、概念:JS有一个基于事件循环地并发模型,事件循环负责执行代码、收集和处理事件以及执行队列中的子任务。
2、原因:JS是单线程的,为了让耗时代码不阻塞其他代码运行,设计了事件循环模型
3、执行过程

在这里插入图片描述

  • 执行同步代码,遇到异步代码交给宿主浏览器环境执行
  • 异步有结果后,把回调函数放入任务队列排队
  • 当调用栈空闲后,反复调用任务队列里的回调函数

http://www.kler.cn/news/284275.html

相关文章:

  • 认知杂谈42
  • 【系统】Linux系统下载 ubuntu/deepin/deepin
  • JAVA毕业设计166—基于Java+Springboot+vue3的流浪宠物救助管理小程序(源代码+数据库)
  • golang学习笔记——channel使用场景
  • 【云原生】Kubernetes中如何通过Pod名称查询Docker容器ID,通过Docker容器ID查询Pod名称?
  • Kafka队列:分布式系统的消息引擎
  • 【方案合集】园区数据治理解决方案(PPT原件)
  • RK3588 系列之2—通过PC网络共享,连接开发板
  • 8款对比分析:哪款协同办公软件最适合您的团队?
  • 算法题常用的STL(Java与C++)(90%)
  • ArcEngine二次开发实用函数18:使用shp矢量对栅格文件进行掩模和GP授权获取
  • CSS线性渐变拼接,一个完整的渐变容器(div),要拆分成多个渐变容器(div),并且保持渐变效果一致
  • YeAudio音频工具的介绍和使用
  • 【系统架构设计师】论文:论需求分析方法及应用
  • TCP/IP五层模型
  • 算法学习:一维数组的排序算法
  • 深入解析 Spring Boot 中 MyBatis 自动配置的流程
  • Python 如何操作 Excel 文件(openpyxl, xlrd)
  • 计算机学习
  • java框架第二课(Reflection反射机制)
  • 最短路算法详解(Dijkstra 算法,Bellman-Ford 算法,Floyd-Warshall 算法)
  • 【手机取证】智能手机位置数据提取方法
  • 《黑神话:深度探索与攻略指南》——虎先锋隐藏门在哪里
  • Python生成指定数量的随机XML文件
  • 华为云征文|部署私有云和文档管理系统 Kodcloud
  • 利用流水线实现版本一键发布
  • 【生日视频制作】奔驰梅赛德斯小汽车提车交车仪式AE模板修改文字软件生成器教程特效素材【AE模板】
  • 【精选】基于Hadoop的热点事件分析的设计与实现(全网最新定制,独一无二)
  • (最新)华为 2024 届秋招-硬件技术工程师-单板硬件开发—机试题—(共12套)(每套四十题)
  • deepin(深度)社区亮相2024 RISC-V中国峰会,全力推动RISC-V生态发展