码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 两年经验前端带你重学前端框架必会的ajax+node.js+webpack+git等技术 Day3


    前端框架必会的(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

  • 相关阅读:
    android源码-事件分发处理机制(下)-从信号源输入到处理完成的完整源码解读
    智能合约编写高级篇(二)区块哈希介绍
    美创数据安全管理平台获信通院“数据安全产品能力验证计划”评测证书
    Containerd高级命令行工具nerdctl安装及使用
    设计模式 | 简单工厂模式
    Emgu CV4图像处理之轮廓查找与绘制15(C#)
    实时可追溯性和事后可追溯性
    使用python生成文字视频
    函数调用过程解析——函数栈帧的创建和销毁
    HTB-Tier2- Archetype
  • 原文地址:https://blog.csdn.net/qq_61654952/article/details/140316208
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号