Ajax是什么以及Ajax交互原理(详,图文并茂,原理篇)

article/2025/10/4 1:02:57

一 Ajax技术与原理

1.1 Ajax简介

Ajax = Asynchronous JavaScript and XML (翻译成人话就是,异步的 javascript 和 XML 相结合的一种技术 )

需要澄清的是,Ajax不是新的编程语言,而是一种 使用现有标准的新方法,还是一种 与服务器交换数据并实现只更新网页局部的艺术(也就是在,不重新加载整个页面就能实现数据的动态变化

1.2 Ajax所包含的技术

需要强调的是,Ajax并非一种新的技术,而是几种原有技术的结合体。 以下便是Ajax所包含的技术

1.使用CSS和XHTML来表示
2.使用DOM模型来交互和动态显示
3.使用XMLHttpRequest来和服务进行异步通信
4.使用javascript来绑定和调用

Ajax的核心,使用的 XMLHttpRequest 对象,但是需要注意的是——不同的浏览器创建 XMLHttpRequest 对象的方法是有差异的

​ 如:IE浏览器使用 ActiveXObject,而其他浏览器则使用 XMLHttpRequest的 javascript 的内建对象

1.3 Ajax的工作原理

Ajax的工作原理相当于在用户和服务器之间加了一个中间层(Ajax引擎),使用户操作和服务器响应异步化。

可以先问问自己,Ajax技术与传统方式 在具体的工作上 有什么区别呢?

请添加图片描述

图一讲解: 首先客户端先发送一个HTTP请求,HTTP请求发送之后再将其发送给服务器,接下来再去调取数据库,然后再去返回

请添加图片描述
图二讲解: Ajax技术会使你和用户,以及服务器之间多了一个Ajax引擎,通过这个引擎就可以实现一些异步操作。那这意味着什么呢?

意味着,用户在客户端发送请求时,这个方式是JS请求。再由Ajax引擎将其转换成HTTP请求,后台接收到这个请求之后再进行处理。

需要注意的是,服务器本身是没有变化的。数据处理完成之后,就会返回给客户端。

而传统方式返回的是HTML+CSS这样一种
固定的结构,但是现在呢则是先返回一个XML数据或是文本文档数据给Ajax引擎,通过Ajax引擎,再把返回的内容渲染成最后要的一个结果。

总结:Ajax实际上是在其中扮演着一个 媒介的作用,这个媒介呢,既可以发送请求又可以 给服务器返回数据。

1.3.1 接下来再看看他们各自的交互:

首先是,浏览器的普通交互方式

请添加图片描述
请添加图片描述

最后是,Ajax的交互方式

请添加图片描述

请添加图片描述

通过分析对比我们发现,Ajax其实就像是去食堂打饭,每个窗口都能打。而传统的则像是小饭店,只能一个一个顾客排队点菜。

总结一下优点:

  1. 用户体验的提升。在创建Web站点时,在客户端执行屏幕更新的时候,相较于传统方式,能为用户提供更好的体验、更好的灵活性。

  2. 处理速度的提升

1.1 在实践中的应用:

  1. 如动态更新购物车的物品总数,无需等待用户单机Update并等待服务器重新发送整个页面

  2. 提升站点的性能,这个呢则是通过减少从服务器下载的数据量而实现的。 例如:Amazon的购物车页面,当用户更新篮子中的一项物品的数量时,会重新载入整个页面,而这,就必须下载32k的数据。 但若使用Ajax计算新的总量,服务器就只会返回新的总量值,因此所需的宽带仅为原来的百分之一。

  3. 消除每次用户在输入时都会页面刷新的不良体验。因为Ajax可以做到只刷新网站的局部内容

  4. 可直接编辑表格数据,⽽不是要求⽤户导航到新的⻚⾯来编辑数据。对于Ajax,当⽤户单击Edit时,可以 将静态表格刷新为内容可编辑的表格。⽤户单击Done之后,就可以发出⼀个Ajax请求来更新服务器,并刷新表格,使其包含静态、只读的数据。

最后送各位编程人们我最喜欢的一句话:“坚持和耐心总能奇迹般地扫除一切困难和障碍。(关注博主,长期更新~嘻嘻)
= ̄ω ̄= 加油!!


http://chatgpt.dhexx.cn/article/5LFK676N.shtml

相关文章

Ajax 原理总结

一 Ajax技术与原理 AJAX Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 AJAX 是与服务器交换数据并更新部分网页的技术,在不重新加载整个页面的情况下。 AJAX 的核心是 XMLHttpRequest 对象。 Ajax的工作原理 Ajax的工作…

Ajax基本原理与实现

Ajax 的全称是Asynchronous JavaScript and XML(异步的JavaScript 和 XML),其中,Asynchronous 是 异步 的意思,它有别于传统web开发中采用的同步的方式。 不是新的编程语言,而是一种使用现有标准的新方法。…

总结 - Ajax工作原理和实现步骤

目录 一 Ajax技术与原理 1.1 Ajax简介 1.2 Ajax所包含的技术 1.3 Ajax的工作原理 1.4 XMLHttpRequest 对象的三个常用的属性 1. onreadystatechange 属性 2. readyState 属性 3. responseText 属性 1.5 xmlhttprequst的方法 1. open() 方法 2. send() 方法 二 Ajax…

迈瑞医疗软件测试笔试题

8月份去了面试。 一、测试设计题 题目:某手机软件中的通信数据,用户可在界面上进行浏览,并可选择想要的数据导出到U盘。如下图所示:请你对“导出”功能进行测试分析,提取测试点,并设计测试用例。(界面大概如下所示&a…

软件测试笔试题

1、选择题 1、下列关于alpha测试的描述中正确的是(BD) A alpha测试需要用用户代表参加 B alpha测试不需要用用户代表参加 C alpha测试是系统测试的一种 D alpha测试是验收测试的一种 2、软件质量的定义(D) A 软件的功能性、可…

最近面试的软件测试笔试题笔试题(已整理参考答案)

1.常见的测试用例设计方法都有哪些?分别以具体的例子来说明这些方法在测试用例设计工作中的应用。 1. 等价类划分 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值…

.Net 7 Native AOT 单文件 无依赖 跨平台

2022.11.18 Native AOT 正式发布,不再是 实验性项目。 .Net 7 Console App & WebApi 使用PublishAOT true,直接编译 成exe,无rutime依赖,智能裁剪,体积小,启动快。 环境: 1.更新VS2022 …

AOT和单文件发布对程序性能的影响

AOT和单文件发布对程序性能的影响 以前的.NET框架原生并不支持最终编译结果的单文件发布(需要依赖第三方工具) 1. 前言 这里先和大家介绍一下.NET一些发布的历史,以前的.NET框架原生并不支持最终编译结果的单文件发布(需要依赖…

JIT与AOT

名词解释: JIT(JUST - IN -TIME)实时编译 AOT(AHEAD-OF-TIME)预先编译 它们两者最根本的区别,就在于编译代码的时机,所谓的编译代码,就是把人类写的代码,翻译成机器字节…

Spring6和SpringBoot3的新特性-你不得不了解的AOT原来这么简单

Spring6.0新特性 一、Spring的发展历史 二、AOT AOT是Spring6.0提供的一个新特性,Ahead of Time 提前编译。 1.AOT概述 1.1 JIT和AOT的关系 1.1.1 JIT JIT(Just-in-time) 动态编译,即时编译,也就是边运行边编译,也就是在程序运…

JIT VS AOT

一、AOT,JIT是什么 JIT,即Just-in-time,动态(即时)编译,边运行边编译;AOT,Ahead Of Time,指运行前编译,是两种程序的编译方式 理解 jit、aot 程序主要有两种运行方式:静态编译与动…

对比JIT和AOT,各自的优点与缺点

编译器和解释器是什么 编译器和解释器的区别在于是否编译和执行过程是否是同时进行。 编译器所干的事,将一门语言 X 编译为另一门语言 Y (可以是语言 X、高级语言、低级语言等),整个编译过程涉及词法分析、语法分析、语义分析。…

AOT(超前编译)实例分析

文章目录 一、背景二、具体实施2.1 tfcomfile 是什么?2.2 tfcompile 的功能是什么?2.3使用tfcompile 三、总结 一、背景 前边已经了解了JIT和AOT的基本概念,AOT(提前编译)方式就是在代码执行阶段之前全部编译成目标指令,进入执行…

Java在云原生的破局利器——AOT(JIT与AOT)

导读 JIT(Just-in-Time,实时编译)一直是Java语言的灵魂特性之一,与之相对的AOT(Ahead-of-Time,预编译)方式,似乎长久以来和Java语言都没有什么太大的关系。但是近年来随着Serverles…

AOT概述

11.1、AOT概述 11.1.1、JIT与AOT的区别 JIT和AOT 这个名词是指两种不同的编译方式,这两种编译方式的主要区别在于是否在“运行时”进行编译 (1)JIT, Just-in-time,动态(即时)编译,边运行边编译; 在程序…

Python interpreter state is not initialized. The process may be terminated.

Error occurred when finalizing GeneratorDataset iterator: Failed precondition: Python interpreter state is not initialized. The process may be terminated. [[{{node PyFunc}}]] 当我在使用TensorFlow训练时,出现以上错误。 我也曾以为是&#xff…

subprocess.CalledProcessError: Command ‘[where, cl]‘ returned non-zero exit status 1

当运行程序时,程序报错最后一行错误输出为 subprocess.CalledProcessError: Command [where, c1] returned non-zero exit status 1时,我们把输出得错误往前翻看,如果,报错得第一行 是UserWarning: Error checking compiler vers…

Problem Solving Process of The terminal process terminated with exit code 1

参考前辈的配置VScode C/C环境的经验: 成成赐我力量 bat67 参考之后我的配置 c_cpp_properties.json "configurations": [{"name": "Mac","includePath": ["/usr/include"],"browse" : {"limitS…