两年经验前端带你重学前端框架必会的ajax+node.js+webpack+git等技术 第三章
创始人
2024-11-15 14:35:45
0

前端框架必会的(ajax+node.js+webpack+git)个人学习心得作业及bug记录 Day3

你好,我是Qiuner. 为帮助别人少走弯路和记录自己编程学习过程而写博客

这是我的 github https://github.com/Qiuner ⭐️

​ gitee https://gitee.com/Qiuner 🌹

如果本篇文章帮到了你 不妨点个吧~ 我会很高兴的 😄 (^ ~ ^)

想看更多 那就点个关注吧 我会尽力带来有趣的内容 😎

  • 官方笔记、资源在 https://pan.baidu.com/s/1Gd-ANtinWR7kh8TPTto10A&pwd=9987

  • 官方接口文档在 欢迎使用 - B站-AJAX和黑马头条-数据管理平台 (apifox.com)

    • 本篇文章比较水,值得一看的是XMLHttpRequest生命周期部分

文章目录

  • 前端框架必会的(ajax+node.js+webpack+git)个人学习心得作业及bug记录 Day3
  • XMLHttpRequest
    • 生命周期
      • 事件顺序
    • 在表面的查询参数
    • 带参数的请求
  • Promise
    • 基础使用
    • Promise三种状态
    • 小案例
  • 使用XML和Promise做一个简单的axios
    • 实现支持查询参数传递
    • 增加封装请求体功能
  • 天气预报案例
    • 数据回显部分

XMLHttpRequest

  • 静态网页,只有一两个地方需要使用请求来进行前后端交互的时候,使用XML可以实现开发包少的情况

image-20240708214004495

image-20240708214347654

image-20240708223050493

image-20240708223346601

生命周期

事件顺序

  1. readystatechange:当 readyState 属性变化时触发,可能会多次触发。
  2. progress:在数据传输期间周期性地触发,表示数据正在传输。
  3. loadstart:在请求开始时触发。
  4. abort:如果请求被取消时触发。
  5. error:如果请求失败时触发(例如,网络错误)。
  6. load:在成功接收到响应数据时触发。
  7. timeout:如果请求超时时触发。
  8. loadend:在请求完成时触发,无论请求是成功还是失败。

在表面的查询参数

需求

image-20240708223522357

image-20240709111234413

  • 其他的步骤没有什么区别,只是在参数拼接的时候,需要使用浏览器内置对象

带参数的请求

image-20240709111620163

  1. image-20240709112215386

Promise

基础使用

image-20240709112736832

  • 这个promise,用来管理请求成功或失败后要做什么

image-20240709113816165

  • 如果你不知道什么是异常,那可以这么想:异常就是停止程序的断点,那么,抛出异常理所应当为开发者觉得要在这里停止运行代码。
  • 在本例中,这里就是抛出一个错误

image-20240709145336980

Promise三种状态

image-20240709145647483

image-20240709145958271

  • 因为无法改变,所以会是resolve的以兑现状态

image-20240709150014420

小案例

image-20240709150154689

  • Promise和XML都没有自己来判断请求是成功还是失败的能力,因此,只需要将Promise当作报错工具,XML当作请求工作,原本代码的if、else当作判断工具,就能写出这个案例

image-20240709151327252

使用XML和Promise做一个简单的axios

image-20240709151511176

image-20240709151913562

  • 如此,就能实现。这里的config可以在使用的时候传递多个对象

实现支持查询参数传递

image-20240709152728721

image-20240709162809081

增加封装请求体功能

image-20240709162840687

image-20240709163656645

  • 封装axios这一节中,都是用原本的基础语法弄出来的

天气预报案例

image-20240709164005632

数据回显部分

  • 这部代码繁杂,没什么技术含量,建议直接复制

  • 可以捕捉页面元素,进行一个个替换,也可以将代码全部复制下来,使用${}替换

image-20240710091629313

image-20240710091649907

image-20240710092509531

  • 这案例老师讲的很详细了,没什么值得补充的,推荐直接看视频

AJAX-Day03-14.案例_天气预报_展示城市天气_哔哩哔哩_bilibili

相关内容

热门资讯

C++ std::atomic... C++11 引入了两个重要的同步机制用于多线程编程:std::atom...
C++开源界面库duilib的... 目录1、使用CEditUI编辑框2、使用CLabelUI或CTextUI的Html文本效果3、使用C...
Python应用—利用open... 1.创作需求我们通常需要从一幅图中找到自己想要的信息,例如从一堆表情中找到,自己需要的表情。2.创作...
【无标题】vue2鼠标悬停(h... 在Vue 2中,要实现鼠标悬停(hover)时切换图片的功...
【C++】实验十四 题目:1、编写程序,输入a,b,cÿ...
Java GC(垃圾回收)机制... Java GC(垃圾回收)机制详解1、GC触发的条件2、GCRoots的...
【c++】继承学习(一):继承... 🔥个人主页:Quitecoder🔥专栏:...
C++:list模拟实现 hello,各位小伙伴,本篇文章跟大家一起学习《C++&...
Java中的Heap(堆)(如...         前言:(Heap)是一种特殊的完全二叉树&...
【C++】C/C++内存管理 C/C++内存管理C/C++内存分布C语言中的内存管理方式C+...