Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >两年经验前端带你重学前端框架必会的ajax+node.js+webpack+git等技术 Day3

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

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

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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
两年经验前端带你重学前端框架必会的ajax+node.js+webpack+git等技术 Day2
Qiuner
2024/07/19
1280
两年经验前端带你重学前端框架必会的ajax+node.js+webpack+git等技术 Day2
两年经验前端带你重学前端框架必会的ajax+node.js+webpack+git等技术 Day1
Qiuner
2024/07/19
1570
两年经验前端带你重学前端框架必会的ajax+node.js+webpack+git等技术 Day1
两年经验前端带你重学前端框架必会的ajax+node.js+webpack+git等技术 第一章
Qiuner
2025/05/29
590
两年经验前端带你重学前端框架必会的ajax+node.js+webpack+git等技术 第一章
JS 中的网络请求 AJAX, Fetch, WebSocket
AJAX 是 Asynchronous JavaScript And XML 的简称,它可以让页面在不刷新的情况下从服务器获取数据。
羽月
2022/10/08
4.6K0
三年经验前端vue面试记录
vue-router中两个重要组件router-link和router-view,分别起到导航作用和内容渲染作用,但是回答如何生效还真有一定难度
bb_xiaxia1998
2022/10/31
2.3K0
一篇文章带你了解网页框架——Vue简单入门
如果你以后想从事后端程序员,又想要稍微了解前端框架知识,那么这篇文章或许可以给你带来帮助
秋落雨微凉
2022/10/25
1K0
一篇文章带你了解网页框架——Vue简单入门
前后端交互的弯弯绕绕
🆗,收拾一下心情让我们来聊一聊AJax吧,随着前端的飞速发展,前后的交互也发生了天翻地覆的变化:
Java_慈祥
2024/08/03
5420
前后端交互的弯弯绕绕
高级前端面试题汇总_2023-02-27
这里需要注意的是在async1中await后面的Promise是没有返回值的,也就是它的状态始终是pending状态,所以在await之后的内容是不会执行的,包括async1后面的 .then。
用户10377405
2023/02/27
1.9K0
Ajax与Comet
Ajax(Asynchronous JavaScript + XML的简写)可以向服务器请求数据而无需卸载(刷新)页面,带来更好的用户体验。 Ajax技术的核心是XMLHttpRequest对象(简称XHR)。
奋飛
2019/08/15
7920
谈谈前端面试经常遇到的一些题目
问题描述: 两个块级元素的上外边距和下外边距可能会合并(折叠)为一个外边距,其大小会取其中外边距值大的那个,这种行为就是外边距折叠。需要注意的是,浮动的元素和绝对定位这种脱离文档流的元素的外边距不会折叠。重叠只会出现在垂直方向。
loveX001
2022/09/27
7450
BAT 前端开发面经 —— 吐血总结
最近暑期实习招聘已经开始,个人目前参加了阿里的内推及腾讯和百度的实习生招聘,在此总结一下 一是备忘、总结提升,二是希望给大家一些参考 其他面试及基础相关可以参考其他博文:
超然
2018/08/03
1.5K0
BAT 前端开发面经 ——  吐血总结
看到一个不错的前端面试题开源项目
最近在整理 JavaScript 的时候发现遇到了很多面试中常见的面试题,本文主要是在 Github 等各大论坛收录的 JavaScript 相关知识和一些相关面试题时所做的笔记,现在分享给大家,希望对 JavaScript 可以来一次全方位的检漏和排查,如果出现错误,希望大家共同指出!
前端迷
2020/08/28
9390
看到一个不错的前端面试题开源项目
前端面试题---JS部分
转载链接:https://blog.csdn.net/qq_54753561/article/details/122149197
用户8087287
2022/10/31
8710
前端面试题---JS部分
前端高频面试题及答案整理(二)
防抖(debounce):触发高频事件 N 秒后只会执行一次,如果 N 秒内事件再次触发,则会重新计时。类似王者荣耀的回城功能,你反复触发回城功能,那么只认最后一次,从最后一次触发开始计时。
loveX001
2022/09/25
5410
重温前端-js篇
instanceof运算符用来判断一个构造函数的prototype属性所指向的对象是否存在另外一个要检测对象的原型链上
kif
2023/03/10
5.6K0
2022年最新前端面试题(大前端时代来临卷起来吧小伙子们..持续维护走到哪记到哪)[通俗易懂]
那也就是说null的类型标签也是000,和Object的类型标签一样,所以会被判定为Object。
全栈程序员站长
2022/08/18
3.5K0
Node
想要实现其他复杂的操作和效果,都要依靠 宿主环境 提供API,目前,已经嵌入 JavaScript 的宿主环境有多种,最常见的环境就是 浏览器 和 操作系统 ;
jinghong
2020/05/09
11.2K0
Node
Java面试笔试题大汇总(最全+详细答案)
声明:有人说, 有些面试题很变态,个人认为其实是因为我们基础不扎实或者没有深入。本篇文章来自一位很资深的前辈对于最近java面试题目所做的总结归纳,有170道题目 ,知识面很广 ,而且这位前辈对于每个题都自己测试给出了答案 ,如果你对某个题有疑问或者不明白,可以电脑端登录把题目复制下来然后发表评论,大家一起探讨,也可以电脑端登录后关注我给我发私信,我们一起进步! 以下内容来自这位前辈 2013年年底的时候,我看到了网上流传的一个叫做《Java面试题大全》的东西,认真的阅读了以后发现里面的很多题目是重复且没
汤高
2018/01/11
30.3K0
Java面试笔试题大汇总(最全+详细答案)
javascript高级程序设计第三版书摘
在使用<script>元素嵌入 JavaScript 代码时,只须为<script>指定 type 属性。然后,像下面这样把 JavaScript 代码直接放在元素内部即可:
用户3148308
2021/10/26
1.9K0
大数据技术之_19_Spark学习_07_Spark 性能调优 + 数据倾斜调优 + 运行资源调优 + 程序开发调优 + Shuffle 调优 + GC 调优 + Spark 企业应用案例
  每一台 host 上面可以并行 N 个 worker,每一个 worker 下面可以并行 M 个 executor,task 们会被分配到 executor 上面去执行。stage 指的是一组并行运行的 task,stage 内部是不能出现 shuffle 的,因为 shuffle 就像篱笆一样阻止了并行 task 的运行,遇到 shuffle 就意味着到了 stage 的边界。   CPU 的 core 数量,每个 executor 可以占用一个或多个 core,可以通过观察 CPU 的使用率变化来了解计算资源的使用情况,例如,很常见的一种浪费是一个 executor 占用了多个 core,但是总的 CPU 使用率却不高(因为一个 executor 并不总能充分利用多核的能力),这个时候可以考虑让一个 executor 占用更少的 core,同时 worker 下面增加更多的 executor,或者一台 host 上面增加更多的 worker 来增加并行执行的 executor 的数量,从而增加 CPU 利用率。但是增加 executor 的时候需要考虑好内存消耗,因为一台机器的内存分配给越多的 executor,每个 executor 的内存就越小,以致出现过多的数据 spill over 甚至 out of memory 的情况。   partition 和 parallelism,partition 指的就是数据分片的数量,每一次 task 只能处理一个 partition 的数据,这个值太小了会导致每片数据量太大,导致内存压力,或者诸多 executor 的计算能力无法利用充分;但是如果太大了则会导致分片太多,执行效率降低。在执行 action 类型操作的时候(比如各种 reduce 操作),partition 的数量会选择 parent RDD 中最大的那一个。而 parallelism 则指的是在 RDD 进行 reduce 类操作的时候,默认返回数据的 paritition 数量(而在进行 map 类操作的时候,partition 数量通常取自 parent RDD 中较大的一个,而且也不会涉及 shuffle,因此这个 parallelism 的参数没有影响)。所以说,这两个概念密切相关,都是涉及到数据分片的,作用方式其实是统一的。通过 spark.default.parallelism 可以设置默认的分片数量,而很多 RDD 的操作都可以指定一个 partition 参数来显式控制具体的分片数量。   看这样几个例子:   (1)实践中跑的 Spark job,有的特别慢,查看 CPU 利用率很低,可以尝试减少每个 executor 占用 CPU core 的数量,增加并行的 executor 数量,同时配合增加分片,整体上增加了 CPU 的利用率,加快数据处理速度。   (2)发现某 job 很容易发生内存溢出,我们就增大分片数量,从而减少了每片数据的规模,同时还减少并行的 executor 数量,这样相同的内存资源分配给数量更少的 executor,相当于增加了每个 task 的内存分配,这样运行速度可能慢了些,但是总比 OOM 强。   (3)数据量特别少,有大量的小文件生成,就减少文件分片,没必要创建那么多 task,这种情况,如果只是最原始的 input 比较小,一般都能被注意到;但是,如果是在运算过程中,比如应用某个 reduceBy 或者某个 filter 以后,数据大量减少,这种低效情况就很少被留意到。   最后再补充一点,随着参数和配置的变化,性能的瓶颈是变化的,在分析问题的时候不要忘记。例如在每台机器上部署的 executor 数量增加的时候,性能一开始是增加的,同时也观察到 CPU 的平均使用率在增加;但是随着单台机器上的 executor 越来越多,性能下降了,因为随着 executor 的数量增加,被分配到每个 executor 的内存数量减小,在内存里直接操作的越来越少,spill over 到磁盘上的数据越来越多,自然性能就变差了。   下面给这样一个直观的例子,当前总的 cpu 利用率并不高:
黑泽君
2019/05/14
3K0
大数据技术之_19_Spark学习_07_Spark 性能调优 + 数据倾斜调优 + 运行资源调优 + 程序开发调优 + Shuffle 调优 + GC 调优 + Spark 企业应用案例
推荐阅读
相关推荐
两年经验前端带你重学前端框架必会的ajax+node.js+webpack+git等技术 Day2
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档