Ajax:回忆与节点

news2025/1/11 2:28:33

        一点回忆

        面对我的Ajax学习,实现前后端交互,最开始我采用的使用网络寻找intellij IDEA Ultimate破解方法,然后最终成功,然后按照相关教程配置java ee项目,然后中间又去配置了Tomcat服务器,然后又去学习了一点jsp以及servlet的相关知识,最终我无法实现从第一个jsp页面跳转到其他Ajax交互实现方法的jsp页面而告终。

        尽管我的第一次尝试挺轻松的,直到我不用写后端,直接把后端的jar包发给我,相应的接口文档也有介绍,只能说,当时确实被打击到了,觉得似乎前端不是很难,难度直接从100变成10,当时就给我干懵了,我前前后后用了几天配置环境等等,最后告诉我,我那些都用不上了,然后我用了二十分钟实现了需求。

        直到今天,我了解到为什么JavaScript是单线程,以及它的效率不高,还有同步等等问题,我只能说,它这个东西一点都不简单,小看它了,也是给我提了个很强烈的醒,不要失去敬畏之心。

        在我第一次验收的时候,我似乎是走歪了路,我对Ajax的重要的技术点漏了很多,然后之后又想补上漏了的知识点,然后似乎又有点偏激了,直接开始抄写文档了,学习了XMLHttpRequest(XHR)的每一个属性,标准属性与非标准属性,还有继承而来的属性,以及非继承的属性,现在想想,确实是太偏激了,应该止于了解常用的,现阶段不该太深入的,然后就是用了这么久,学习了接近一个月的在校时间,可能就是因为开学了之后浮躁了好多,然后现在我用这么久才学了一个Ajax。不过,也是长记性了,博客需要每周都写,不然容易忘记自己的阶段情况,容易堕落了,这个写博客的习惯,我觉得有必要延续到以后写工作。

然后下面就是我的Ajax笔记,作为一个节点留下为自己作为纪念。

思维导图+二维表

 

比较内容

XMLHttpRequest

jQuery

axios

是什么

Ajax 功能实现依赖的对象

一个 js 的代码库,一个轻量级的框架

一个基于 Promise 的网络请求库

有什么用

通过 HTTP 在浏览器和 web 服务器之间收发 XML 或其他数据

封装了 JavaScript 的基本内容

可以用在浏览器和 node.js 中,但是符合最新的 ES 规范

哪里用

进行前后端交互的地方

快速获取文档元素,提供漂亮的页面动态效果,创建 AJAX 无刷新网页

可以用在浏览器和 node.js 中

怎么用

写在 js 代码中,通过创建对象,设置标头,发送

针对选择器和事件处理

从浏览器创建 XHR,从 node.js 创建 http 请求

封装有什么不同

主要封装了 ES、DOM、BOM,只有很小一部分是 ajax

本质上就是 ajax,简单来说就是发送 http 请求的(GET 和 POST)

比较项目

普通文件

XML 文件

JSON 文件

是什么

计算机中用来存储和组织数据的基本单位

同样是基本单位,但是它有自己的规范要求

是基于ECMAScript的一个子集设计的,是一种开放标准的文件格式和数据交换格式

为什么

系统设置,存储任意内容

只针对规范进行存储

简洁和清晰的层次结构有效提升了网络传输效率,易于人认识,易于机器解析和生成,与服务器之间的 web 应用程序的数据交换很好

哪里使用

存储任意数据

存储指定数据,比如列表、json 字符串等等

存储指定的 JSON 结构的数据序列

怎么使用

通过记事本或其他文本编辑器

同样是通过记事本或其他文本编辑器

通过记事本或文本编辑器

JavaScript 中,同步(Synchronous)和异步(Asynchronous)是两种处理代码执行顺序的主要方式。

比较项目

同步 JavaScript

异步 JavaScript

what

前一个任务结束后再执行后一个任务,程序执行顺序与任务的排列顺序是一致同步的

不按照代码顺序执行,一个异步过程不再与原有的序列有顺序关系,程序的执行顺序与任务的排列顺序是不一致的

why

这是 js 语言自身的特定,所以他是单线程

从主线程发射一个子线程来完成任务

where

正常的嵌入 HTML 或者单独的 js 文件

同样嵌入 HTML 或者 js

how

直接嵌入到 HTML 文件中

只有在进行 Ajax 调用的意义上是异步

比价项目

阻塞

非阻塞

what

调用(函数),(函数)没有接收完数据或者没有得到结果之前,不会返回。

调用(函数),(函数)立即返回,通过select通知调用者

why

线程进入了不可执行状态,此时,CPU 不会给线程分配时间片,即线程暂停运行

不能立刻得到结果返回之前,该调用不会阻塞当前线程

where

调用者等待返回结果

调用者等待返回结果

how

常常出现在多线程编程,比如 Thread.sleep,还有 Object.wait

常常出现等待异步操作完成时保持响应,而不是阻塞整个应用程序。比如:

1.回调函数

2.Promise 对象

3.事件循环和 setTimeout

XMLHttpRequest

构造函数

实例方法

属性

事件

what

一个特殊的方法,用来实例化一个对象

XMLHttpRequest 这个类封装的方法

它是这个对象的特性或者说数据成员

一个代表性的事情

why

因为不调用构造或其他方式获得一个对象的话,什么都干不了

不能只有一个人,而没有这个人生存的方法

因为它的存在是为了更好的表示方法的状态等等

触发对象具有的事情,然后会有返回值,此时就可以更轻松的让计算机弄懂它怎么了

where

在要进行前后端交互:准备对象

对象进行操作

直接就是对象然后.属性

直接就是判断对应的事件的返回值,然后就可以了

how

var xhr = new XMLHttpRequest()

xhr.open()/xhr.send()

比如 onreadystatechange 属性,然后 xhr.onreadystatechange = function(){

if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200){

console.log(xhr.responseText);

}

}

比如:

function doSomething() {

if (request.readyState == 4) {

// 处理响应数据

}

}

比较方法

open

setRequestHeader

send

what

使用 XHR 对象时首先调用的方法

js 中用于设置头部信息的函数

一个用来发送 HTTP 请求的方法

why

初始化一个请求

发送 Ajax 请求前,需要先设置请求头(自定义)

设置好要发送到后端的数据,需要有发送这一步,就像发送邮件一样

where

需要一个请求的地方

在 open 方法与 send 方法之间

在你设置完你要发送的东西,以及指定好指定的发送格式以及返回格式之后

how

使用这个方法,填入对应的参数,请求方法,URL,是否异步

xhr.setRequestHearder(header, value);

header 参数是 HTTP 请求头部字段的字符串,value 参数是与 header 关联的值。

header 可以写 Content-Type 用来指定发送到服务器的数据类型;Accept:指定客户端可以接收到的内容数据类型,可以写 application/json 还有字符串数字日期和时间等等

xhr.send()

send 中可以写空,也可以写 null;在使 get 或者 HEAD 方法的时候应该写 null ,也可以不写,不写的话会被默认为 null;

然后这个还和请求是同步或者异步有一定的关系,如果是同步的话,需要到它全部完成才会返回,如果是异步的话,直接就会返回。

如果没有设置过标头的话,就是 Accept 头部信息,就会发送“*/*”的 Accept 头部。

role

创造者

装修工

信使

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2254940.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《鸣潮》运行时电脑提示“d3dx9_41.dll丢失”是什么原因?“缺失d3dx9_41.dll文件”的解决方法和预防方案

游戏运行时文件丢失与报错解决方案:《鸣潮》提示“d3dx9_41.dll丢失”怎么办? 大家好,我是一名在软件开发领域有着丰富经验的从业者。在游戏爱好者的世界里,遇到游戏运行时提示文件丢失或损坏的情况并不少见。今天,我…

ARINC 标准全解析:航空电子领域多系列标准的核心内容、应用与重要意义

ARINC标准概述 ARINC标准是航空电子领域一系列重要的标准规范,由航空电子工程委员会(AEEC)编制,众多航空公司等参与支持。这些标准涵盖了从飞机设备安装、数据传输到航空电子设备功能等众多方面,确保航空电子系统的兼…

vue中pdf.js的使用,包括pdf显示,跳转指定页面,高亮关键词

目录 一、下载pdf.js 二、引入到本地的项目中 三、实现预览pdf 四、跳转到指定页面 五、利用pdf里面的find查找关键词 六、修改页面大小为实际大小 一、下载pdf.js https://github.com/mozilla/pdf.js 里面有很多的版本, 高版本的可能浏览器不兼容或者还要考…

【不稳定的BUG】__scrt_is_managed_app()中断

【不稳定的BUG】__scrt_is_managed_app函数中断 参考问题详细的情况临时解决方案 参考 发现出现同样问题的文章: 代码运行完所有功能,仍然会中断 问题详细的情况 if (!__scrt_is_managed_app())exit(main_result);这里触发了一个断点很奇怪,这中断就发生了一次,代…

Chrome控制台 网站性能优化指标一览

打开chrome-》f12/右键查看元素-》NetWrok/网络 ctrlF5 刷新网页,可以看到从输入url到页面资源请求并加载网页,用于查看资源加载,接口请求,评估网页、网站性能等,如下图: request、stransferred、resour…

第六节、S曲线加减速转动【51单片机-TB6600驱动器-步进电机教程】

摘要:本节介绍步进电机S曲线加减速方法,包含了一般形式S曲线方程的推导,以其适配51单片机TB6600驱动器S曲线运动数据的生成。本节所述S曲线均为标准Sigmod曲线的简称,与其他算法所述的7段式S曲线或者5段式S曲线相比,二…

【青牛科技】拥有两个独立的、高增益、内部相位补偿的双运算放大器,可适用于单电源或双电源工作——D4558

概述: D4558内部包括有两个独立的、高增益、内部相位补偿的双运算放大器,可适用于单电源或双电源工作。该电路具有电压增益高、噪声低等特点。主要应用于音频信号放大,有源滤波器等场合。 D4558采用DIP8、SOP8的封装形式 主要特点&#xff…

chrome使用问题记录

1. http自动跳转https问题 step1. 地址栏输入: chrome://net-internals/#hsts step2. 找到底部Delete domain security policies一栏,输入想处理的域名,点击delete。 注意:输入域名时去掉前缀http step3. 搞定了,再…

【深度学习】手机SIM卡托缺陷检测【附链接】

一、手机SIM卡托用途 SIM卡托是用于固定和保护SIM卡的部件,通过连接SIM卡与手机主板的方式,允许设备访问移动网络,用户可以通过SIM卡进行通话、发送短信和使用数据服务。 二、手机SIM卡托不良影响 SIM卡接触不良,造成信号中断&…

从Web3到智能合约:探索新一代数据交互模式

随着互联网技术的不断演进,Web3的到来标志着互联网的一个新纪元。与传统的Web2相比,Web3倡导去中心化、更加开放和透明的网络架构,而智能合约则是其中的核心技术之一。本文将介绍Web3与智能合约的概念、应用以及它们如何改变数据交互模式&…

嵌入式Linux,标准I/O探究,I/O缓冲,以及函数讲解

出于速度和效率的考虑,系统 I/O 调用(即文件 I/O , open 、 read 、 write 等)和标准 C 语言库 I/O 函数(即标准 I/O 函数)在操作磁盘文件时会对数据进行缓冲。 1. 文件 I/O 的内核缓冲 read() 和…

从单体到微服务:如何借助 Spring Cloud 实现架构转型

一、Spring Cloud简介 Spring Cloud 是一套基于 Spring 框架的微服务架构解决方案,它提供了一系列的工具和组件,帮助开发者快速构建分布式系统,尤其是微服务架构。 Spring Cloud 提供了诸如服务发现、配置管理、负载均衡、断路器、消息总线…

服务器数据恢复—LINUX下各文件系统删除/格式化的数据恢复可行性分析

Linux操作系统是世界上流行的操作系统之一,被广泛用于服务器、个人电脑、移动设备和嵌入式系统。Linux系统下数据被误删除或者误格式化的问题非常普遍。下面北亚企安数据恢复工程师简单聊一下基于linux的文件系统(EXT2/EXT3/EXT4/Reiserfs/Xfs&#xff0…

<future> 注释3:conditional_t<T...>,void_t<T> 用于构成特化模板,

&#xff08;14&#xff09; 模板 conditional_t<T…> &#xff0c;定义于 < xtr1common > &#xff0c; 在本 模板里也会用到&#xff1a; &#xff08;15&#xff09;void_t 用于构成特化模板&#xff0c;只要 T 可以被编译器推断为某种类型&#xff0c;void_t 就…

一文速读:高速信号的完整性测试

随着人工智能的飞速发展&#xff0c;云计算的大量应用&#xff0c;汽车的电动、网联、智能化等催生高速互连器件行业技术变革和市场巨量增长。 从形态上来讲高速互连器件包括:高速线缆&#xff0c;连接器&#xff0c;高速背板和其他带高速接口的 PCB 板。从信号特征上来讲&…

Neo4j (desktop) 使用记录

1. neo4j community 使用 第一次使用Neo4j&#xff0c;根据网上的教程安装并配置了community版本&#xff0c; 在终端使用 neo4j.bat console 可以正常打开网页端 但是&#xff0c; 使用 neo4j start , neo4j stop 时会提示 ‘neo4j’ 时非法指令&#xff0c;无法识别 查明原…

关于信号隔离转换器

isolate converter是隔离转换器‌。它是一种在电子电路中用于实现电路隔离、电压转换或信号隔离的设备‌。隔离转换器能在很多场合发挥关键作用&#xff0c;比如可以保护电路、提高安全性&#xff0c;还能帮助不同电压或信号之间的转换与传递‌。 ‌一、产品概述‌ ‌简介‌&a…

如何通过自学成长为一名后端开发工程师?

大家好&#xff0c;我是袁庭新。最近&#xff0c;有星友向我提出了一个很好的问题&#xff1a;如何通过自学成为一名后端开发工程师&#xff1f; 为了解答这个疑问&#xff0c;我特意制作了一个视频来详细分享我的看法和建议。 戳链接&#xff1a;如何通过自学成长为一名后端开…

基于“微店 Park”模式下 2+1 链动模式商城小程序的创新发展与应用研究

摘要&#xff1a;本文以“微店 Park”从“开店工具”向“众创平台”的转型为背景&#xff0c;深入探讨 21 链动模式商城小程序在该平台情境下的应用潜力与创新发展路径。通过剖析“微店 Park”的运营模式&#xff0c;包括灵活承租、低成本入驻、多元流量引流等特点&#xff0c;…

[代码随想录09]字符串2的总结

前言 处理字符串主要是有思路&#xff0c;同时总结方法。 题目链接 151. 反转字符串中的单词 - 力扣&#xff08;LeetCode&#xff09; 55. 右旋字符串&#xff08;第八期模拟笔试&#xff09; 一、翻转字符串里的单词 这个题目的主要思路&#xff0c;代码采用从后往前遍历字…