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

Ajax总结

引言

这是属于前端的部分了,先是学习了三件套(HTML,JS,CSS没怎么学,但是大概能理解)之后就开始学习这个了,学习之前应该要知道她是做什么的,但是我没有做这一步,之后会先了解为什么要学习这门技术这个知识点,他们是干什么的。了解清楚之后,学习才会清楚,不然就糊里糊涂的学完了,到最后了才开始总结。

Ajax介绍

是什么?

Ajax(Asynchronous JavaScript and XML)技术在现代Web开发中扮演着至关重要的角色。它允许我们在不重新加载整个页面的情况下,与服务器交换数据和更新部分网页内容。

工作原理

  1. 传统Web请求与响应模型 在了解Ajax之前,我们先来看看传统的Web请求与响应模型。在传统模式下,用户发起一个请求,服务器处理请求并返回整个页面的数据,浏览器再重新加载整个页面。

  2. Ajax请求与响应模型 Ajax的工作原理是在用户与服务器之间建立一个中间层(Ajax引擎),使得用户操作与服务器响应异步化。以下是Ajax的工作流程:大约是这么一个流程,不全的话后面再补充(这里使用的是XHR)。

XMLHttpRequest

方法描述
open(methodurlasync)

规定请求的类型

  • method:请求的类型:GET 还是 POST
  • url:服务器(文件)位置
  • async:true(异步)或 false(同步)
send()向服务器发送请求(用于 GET)
send(string)向服务器发送请求(用于 POST)

四种请求方法

get

post

put

delete

介绍

GET 请求用于向指定资源发出请求,请求中包含了资源的 URL 和请求参数。服务器端通过解析请求参数来返回相应的资源,不会修改服务器端的状态。

POST 请求用于向指定资源提交数据,通常会导致服务器端的状态发生变化。例如,在 Web 表单中填写用户信息并提交时,就是使用 POST 请求方式将表单数据提交到服务器存储。

PUT 请求用于向服务器更新指定资源,可以理解为对服务器上的资源进行修改操作。使用 PUT 请求方式会覆盖原有的资源内容,因此需要谨慎使用。

DELETE 请求用于请求服务器删除指定的资源,可以理解为对服务器上的资源进行删除操作。使用 DELETE 方式请求会导致指定的资源被永久删除,因此需要谨慎使用。

优点

可以被缓存和浏览器保存。

对服务器性能的影响较小。

可以提交比 GET 更大的数据量。

相对更安全,因为请求参数不会被包含在 URL 中。

PUT 请求用于向服务器更新指定资源,可以理解为对服务器上的资源进行修改操作。使用 PUT 请求方式会覆盖原有的资源内容,因此需要谨慎使用。

可以永久删除指定的资源。

缺点

不适合用于提交敏感数据。

仅适用于对资源进行查询操作,不能修改服务器端的状态。

对服务器性能的影响较大。

不适用于对同一资源进行多次操作。

对服务器性能的影响较大。

不适用于对同一资源进行多次操作。

对服务器性能的影响较大。

不适用于对同一资源进行多次操作。

应用场景

获取资源信息。

对资源进行查询操作。

向服务器提交表单数据。

向服务器上传文件。

创建资源或提交数据到服务器。

更新指定的资源。

按照条件更新一组资源。

删除指定的资源。

按照条件删除一组资源。

说明

post 请求所代表的写入数据是一种数据创建行为、从无到有的过程,而 put 则是数据更新行为

HTML 不支持 put 请求方法

HTML 不支持 delete请求方法,

要尝试 Delete 请求方法和 put 请求方法,只能使用专门的 REST 测试工具,例如 Postman 来发起请求。

两种加载的对比

对比项

load

loaded

基本含义

通常表示加载的动作或过程正在进行中,强调 “加载” 这一行为的发生。

更侧重于表示已经完成加载的状态,即 “已加载”。

常见使用场景

- 在网页开发中,window.onload 事件用于在整个页面(包括所有资源,如图片、脚本、样式表等)加载完成后执行特定的 JavaScript 代码,这里的 load 强调页面加载这个过程结束的瞬间触发的动作。
- 例如 document.getElementById('myImage').onload = function() { /* 图片加载完成后执行的操作 */ },当图片开始加载,到加载结束的这个过程中,onload 事件在加载完成的那一刻被触发,执行后续的函数代码,关注的是加载动作的完成时刻及后续操作。

- 当讨论一个资源(如图片、脚本文件等)已经被成功加载到内存中,处于可使用的状态时,会用 loaded 来描述这种状态。比如,我们可能会说 “这个脚本文件已经 loaded,可以调用其中的函数了”,此时强调的是资源当前所处的已加载完成的状态,而非加载过程。
- 在一些库或框架中,可能会有属性或变量来标记某个模块或资源是否已经 loaded,以便在程序中判断是否可以安全地使用该资源,避免在未完全加载时出现错误。

语法及使用方式

- 作为事件时,通常以 onload 的形式出现,绑定到某个元素或对象上,如上述的 window.onloadimg.onload 等,后面跟着一个函数,当加载完成时,该函数会被调用执行。
- 在某些情况下,也可以作为动词使用,例如 loadData() 这样的函数名,表示执行加载数据的操作,但这种用法相对较为灵活,具体含义取决于函数的实现逻辑和上下文,不过总体上还是围绕 “加载” 这个动作展开。

- 一般作为形容词或过去分词使用,用来修饰名词,表明该名词所代表的事物处于已加载的状态,如 loadedResource(已加载的资源);或者在程序逻辑中作为一个状态标记,通过判断某个变量是否为 loaded 来决定后续的操作流程,例如 if (moduleLoaded) { /* 执行依赖于该模块已加载的操作 */ }

思维导图的迭代

个人思维导图介绍

一般我的第一版的思维导图都是从笔记中提炼出来的,不管怎么样现有一个开始,然后又逐渐根据358原则进行修改和整合,所以说第一版的是比较多的,因为纯粹是知识点的堆积,之后才是概括,

思维导图的作用

下面是AI出来的,给自己灌一下心灵鸡汤,总之是有用的,不然也不会发明,推荐使用Xmind,里面的模板比较好看,配色也很好看

知识整理与归纳

 
  • 系统性梳理:能够将复杂的知识体系、繁多的信息内容进行系统的梳理和分类,以清晰的结构呈现出来,帮助用户快速把握知识的整体框架和逻辑关系。例如,在学习历史时,可以将各个历史时期的政治、经济、文化等方面的内容分别展开,形成一个完整的历史知识体系思维导图。
  • 要点提炼:便于从大量的文字资料中提取出关键要点,去除冗余信息,使重点更加突出,让用户一眼就能看到核心内容。比如,在阅读一本专业书籍后,通过制作思维导图可以提炼出书中的核心观点、重要概念和关键论据等。

记忆与学习辅助

 
  • 增强记忆效果:由于思维导图采用了图形、线条、颜色等多种视觉元素,相较于纯文字内容,更能刺激大脑的记忆中枢,帮助用户更好地记住信息。研究表明,人们对图形的记忆能力要远远强于对文字的记忆能力。
  • 促进理解吸收:通过将知识以可视化的方式展示出来,能够帮助用户更好地理解知识之间的内在联系和逻辑关系,从而加深对知识的理解和吸收。例如,在学习数学公式的推导过程时,利用思维导图可以将各个步骤之间的逻辑关系清晰地展现出来,使学生更容易理解。
  • 复习回顾便捷:在复习时,思维导图可以作为一个快速回顾的工具,用户可以根据思维导图中的关键词和逻辑关系,迅速回忆起所学的内容,提高复习效率。

思维激发与创意拓展

 
  • 激发创新思维:在绘制思维导图的过程中,不断地对中心主题进行分支和扩展,能够激发大脑的联想和创造力,帮助用户产生新的想法和思路。例如,在进行产品创意设计时,以产品的核心功能为中心主题,通过思维导图可以拓展出各种不同的设计方向和创新点。
  • 多角度思考问题:思维导图可以引导用户从不同的角度去思考问题,对一个主题进行全方位的分析和探讨。比如,在分析一个企业的市场营销策略时,可以从产品、价格、渠道、促销等多个角度展开,帮助企业全面了解市场情况,制定更有效的营销策略。
  • 团队头脑风暴:在团队协作中,思维导图是一种非常有效的头脑风暴工具。团队成员可以围绕一个主题共同绘制思维导图,将各自的想法和观点展示出来,促进团队成员之间的思想碰撞和交流,激发团队的创造力和创新能力。

沟通与表达

 
  • 清晰展示思路:在向他人传达自己的想法、观点或计划时,思维导图可以作为一种直观、清晰的展示工具,让对方能够快速理解你的思路和意图。例如,在做项目汇报时,使用思维导图可以将项目的目标、任务、进度、风险等内容一目了然地展示给团队成员和上级领导。
  • 促进有效沟通:由于思维导图能够将复杂的内容简化和可视化,减少了因语言表达不清晰或信息传递不准确而导致的误解,从而促进了沟通的有效性。在团队讨论、会议交流等场合,使用思维导图可以让大家更加聚焦于主题,提高沟通效率。
  • 个性化表达观点:每个人绘制的思维导图都具有独特的风格和结构,能够体现个人的思维方式和观点,因此在表达个人观点时,思维导图可以更加生动、形象地展示自己的独特见解,增强说服力。

计划与组织

 
  • 任务规划:可以用于制定详细的工作计划、学习计划、项目计划等,将任务按照时间顺序、重要程度、优先级等进行合理的安排和分配,使计划更加清晰、有条理。例如,在制定一个项目计划时,通过思维导图可以将项目的各个阶段、任务、责任人、时间节点等都明确地列出来,方便项目团队成员了解各自的工作职责和任务进度。
  • 资源管理:在组织活动或项目时,思维导图可以帮助组织者对所需的资源进行全面的梳理和管理,包括人力资源、物力资源、财力资源等,确保资源的合理配置和有效利用。
  • 目标分解:将一个大的目标逐步分解为具体的、可操作的小目标和任务,使目标更加明确和可实现。例如,在制定个人职业发展规划时,通过思维导图可以将长期目标分解为短期目标和具体的行动计划,帮助自己更好地朝着目标前进。
 

思维导图在知识整理、记忆学习、思维激发、沟通表达以及计划组织等方面都发挥着重要的作用,能够帮助个人和团队提高工作效率、提升学习效果、拓展创新思维等。

第一版

第二版

这一版比较草率,可以说是半成品,凑合着看吧,因为自己整理到这里的时候也是有点晕的

第三版

这一版的是结合了AI的,内容比较多,后续肯定会删除掉一些的,内容太多,照片放上去肯定看不清,我自己知道是什么就好了

第四版

这是最终的版本了,之后应该还会再改的,毕竟学Ajax的时候不是纯的,参和着axios,之后还有jQuery要学

到这里的话基本上是结束了,期待下一次的jQuery吧!

相关文章:

Ajax总结

引言 这是属于前端的部分了,先是学习了三件套(HTML,JS,CSS没怎么学,但是大概能理解)之后就开始学习这个了,学习之前应该要知道她是做什么的,但是我没有做这一步,之后会先了解为什么要学习这门技…...

修改网络ip地址方法有哪些?常用的有这四种

在数字时代,IP地址作为网络设备的唯一标识,对于网络连接和通信至关重要。然而,有时候我们可能需要修改设备的IP地址,以满足特定的网络需求或解决网络问题。本文将为您详细介绍几种修改网络IP地址的常用方法,无论是对于…...

SpringBoot获取bean的几种方式

目录 一、BeanFactory与ApplicationContext的区别 二、通过BeanFactory获取 三、通过BeanFactoryAware获取 四、启动获取ApplicationContext 五、通过继承ApplicationObjectSupport 六、通过继承WebApplicationObjectSupport 七、通过WebApplicationContextUtils 八、通…...

Debian12 安装配置 ODBC for GaussDB

第一步 apt install -y unixodbc 第二步下载 dws_8.2.x_odbc_driver_for_x86_redhat.zip 到 /tmp,之后 cd /tmp unzip dws_8.2.x_odbc_driver_for_x86_redhat.zip cp lib/* /usr/local/lib cp odbc/lib/* /usr/local/lib echo /usr/local/lib >> /etc/ld…...

空中绘图板:用 Mediapipe 和 OpenCV 实现的创新手势识别应用

在这个数字化飞速发展的时代,手势识别技术正逐渐走入我们的日常生活,从智能家居到增强现实,无处不在。而今天,我将与大家分享一个充满创意和趣味的项目——空中绘图板。这个项目利用了强大的 Mediapipe 库和 OpenCV,实…...

讲一个自己写的 excel 转 html 的 java 工具

由来 这是一个从开发需求中诞生的工具,在工作中因为有一个 excel 转 html 的任务,又没找到一个专门做这方面的工具(其他工具几乎都是简单的转换,无法还原 excel 样式,而且转换的宽高有点儿差距)&#xff0…...

前端往后端传递参数的方式有哪些?

文章目录 1. URL 参数1.1. 查询参数(Query Parameters)1.2. 路径参数(Path Parameters) 2. 请求体(Request Body)2.1. JSON 数据2.2. 表单数据2.3. 文件上传 3. 请求头(Headers)3.1. 自定义请求…...

Vue axios 异步请求,请求响应拦截器

在 Vue.js 中使用 axios 进行网络请求是非常常见的做法,因为它提供了比原生的 Fetch API 更丰富的功能,并且更易于处理错误和配置。结合 Axios 的拦截器功能,你可以对所有的请求或响应进行预处理,比如添加认证头信息、统一处理错误…...

yarn install 安装报错:Workspaces can only be enabled in private projects.

在本地运行项目的时候,使用yarn install 安装模块依赖的时候,遇到报错:Workspaces can only be enabled in private projects. 一、原因分析 报这个错误是因为你使用了yarn的workspace,但并未将工程标记为private。 二、解决办法 …...

http 请求总结get

关于get请求传递body的问题 错误代码 有400 , 415 等情况 <!doctype html><html lang"zh"><head><title>HTTP Status 400 – 错误的请求</title><style type"text/css">body {font-family:Tahoma,Arial,sans-seri…...

TCP 和 UDP 的区别:解析网络传输协议

引言 在计算机网络的世界中&#xff0c;TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议&#xff09;和 UDP&#xff08;User Datagram Protocol&#xff0c;用户数据报协议&#xff09;是两种极为重要且应用广泛的传输层协议。它们在功能、特性以及适…...

【已解决】pyinstaller打包ico图片报错:OSError: [WinError 225] 无法成功完成操作,因为文件包含病毒或潜在的垃圾软件。

起因&#xff1a; pyinstaller加上 --icon 参数打包时报错。 命令如下&#xff1a; 解决&#xff1a; 关闭 Windows 的病毒防护即可&#xff0c;步骤如下。 点屏幕右下角通知栏&#xff0c;进入“病毒和威胁防护”&#xff1a; 打开&#xff1a; 关闭实时保护&#xff08…...

SpringBoot项目配置文件的优先级

从外部讲 内部讲 所以优先级是:外部的config里的application.yml最高 然后是外部与jar包同目录下的application.yml 再到内部的classpath下config下的application.yml 最后到classpath下的application.yml 最后来个优先级最高的 启动时候 指定spring.config.location…...

JS中类型化数组(Typed Arrays)详解和常见应用场景

在JavaScript中&#xff0c;类型化数组&#xff08;Typed Arrays&#xff09; 是用于处理二进制数据的对象。它们允许我们以一种高效的方式操作和存储大量的数值数据&#xff0c;特别适合处理类似于图像、音频、视频等场景的原始二进制数据。 类型化数组的基本概念 类型化数组…...

虚幻引擎是什么?

Unreal Engine&#xff0c;是一款由Epic Games开发的游戏引擎。该引擎主要是为了开发第一人称射击游戏而设计&#xff0c;但现在已经被成功地应用于开发模拟游戏、恐怖游戏、角色扮演游戏等多种不同类型的游戏。虚幻引擎除了被用于开发游戏&#xff0c;现在也用于电影的虚拟制片…...

LabVIEW生物医学信号虚拟实验平台

介绍了一款基于LabVIEW的多功能生物医学信号处理实验平台的设计和实现。平台通过实践活动加强学生对理论的理解和应用能力&#xff0c;特别是在心电图(ECG)和脑电图(EEG)的信号处理方面。实验平台包括信号的滤波、特征提取和频谱分析等功能&#xff0c;能直观体验和掌握生物医学…...

【软件工程】十万字知识点梳理 | 期末复习专用

原创文章,禁止转载。 文章目录 图CRC卡片用例图类图状态图活动图泳道图软件质量因素自顶向下集成自底向上集成人员与工作量之间的关系时序图关键路径软件结构基本路径测试判定表数据流图(DFD)体系结构设计问题数据字典挣值分析等价划分程序流程图PAD | N-S燃尽图甘特图对象模…...

Android --- 在AIDL进程间通信中,为什么使用RemoteCallbackList 代替 ArrayList?

1.RemoteCallbackList vs ArrayList RemoteCallbackList 是一个特殊的 List&#xff0c;它用来管理跨进程的回调&#xff0c;特别是当回调对象是在不同进程中时。它在 AIDL&#xff08;Android Interface Definition Language&#xff09;通信中常常用来处理跨进程的通信。 Arr…...

ADC(二):外部触发

有关ADC的基础知识请参考标准库入门教程 ADC&#xff08;二&#xff09;&#xff1a;外部触发 1、TIM1的CC1事件触发ADC1DMA重装载2、TIM3的TRGO事件(的更新事件)触发ADC1DMA重装载3、TIM3的TRGO事件(的捕获事件)触发ADC1DMA重装载4、优化TIM3的TRGO事件(的捕获事件)触发ADC1D…...

数仓开发那些事(8)

程序员圣经 为什么刚刚能运行&#xff0c;现在就不行 为什么刚刚不运行&#xff0c;现在就可以 为什么他的可以跑&#xff0c;我的不能跑 为什么我的可以跑&#xff0c;他的就不行 为什么这台电脑能&#xff0c;那台就不行 为什么这台电脑不行&#xff0c;那台就行 神州员工&a…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&a…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下&#xff0c;江苏艾立泰以一场跨国资源接力的创新实践&#xff0c;重新定义了绿色供应链的边界。 跨国回收网络&#xff1a;废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点&#xff0c;将海外废弃包装箱通过标准…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

Unity UGUI Button事件流程

场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...

Oracle11g安装包

Oracle 11g安装包 适用于windows系统&#xff0c;64位 下载路径 oracle 11g 安装包...

0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化

是不是受够了安装了oracle database之后sqlplus的简陋&#xff0c;无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话&#xff0c;配置.bahs_profile后也能解决上下翻页这些&#xff0c;但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可&#xff0c…...