前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >两年经验前端带你重学前端框架必会的ajax+node.js+webpack+git等技术 Day3

两年经验前端带你重学前端框架必会的ajax+node.js+webpack+git等技术 Day3

作者头像
Qiuner
发布2024-07-19 18:31:34
60
发布2024-07-19 18:31:34
举报
文章被收录于专栏:杂烩

XMLHttpRequest

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

生命周期

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

在表面的查询参数

需求

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

带参数的请求

image-20240709111620163
image-20240709111620163
image-20240709112215386
image-20240709112215386

Promise

基础使用

image-20240709112736832
image-20240709112736832
  • 这个promise,用来管理请求成功或失败后要做什么
image-20240709113816165
image-20240709113816165
  • 如果你不知道什么是异常,那可以这么想:异常就是停止程序的断点,那么,抛出异常理所应当为开发者觉得要在这里停止运行代码。
  • 在本例中,这里就是抛出一个错误
image-20240709145336980
image-20240709145336980

Promise三种状态

image-20240709145647483
image-20240709145647483
image-20240709145958271
image-20240709145958271
  • 因为无法改变,所以会是resolve的以兑现状态
image-20240709150014420
image-20240709150014420

小案例

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

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

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

实现支持查询参数传递

image-20240709152728721
image-20240709152728721
image-20240709162809081
image-20240709162809081

增加封装请求体功能

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

天气预报案例

image-20240709164005632
image-20240709164005632

数据回显部分

  • 这部代码繁杂,没什么技术含量,建议直接复制
  • 可以捕捉页面元素,进行一个个替换,也可以将代码全部复制下来,使用${}替换
image-20240710091629313
image-20240710091629313
image-20240710091649907
image-20240710091649907
image-20240710092509531
image-20240710092509531
  • 这案例老师讲的很详细了,没什么值得补充的,推荐直接看视频

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-07-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • XMLHttpRequest
    • 生命周期
      • 事件顺序
    • 在表面的查询参数
      • 带参数的请求
      • Promise
        • 基础使用
          • Promise三种状态
            • 小案例
            • 使用XML和Promise做一个简单的axios
              • 实现支持查询参数传递
                • 增加封装请求体功能
                • 天气预报案例
                  • 数据回显部分
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档