何时使用异步或同步AJAX
通常最好使用异步调用
通过优锐课核心java学习笔记中,我们可以看到,码了很多专业的相关知识, 分享给大家参考学习。
AJAX代表异步JavaScript和XML,是一项允许异步更新网页的技术,这意味着当页面上只有一小部分数据发生更改时,浏览器不需要重新加载整个页面。 AJAX仅将更新的信息传递到服务器或从服务器传递。
标准的Web应用程序同步处理Web访问者和服务器之间的交互。 这意味着一件事情接连发生。 服务器不执行多任务。 如果单击按钮,则消息将发送到服务器,并返回响应。 在收到响应并更新页面之前,你无法与任何其他页面元素进行交互。
显然,这种延迟可能会对Web访问者的体验产生负面影响-因此就是AJAX。
什么是AJAX?
AJAX不是一种编程语言,而是一种结合了与Web服务器通信的客户端脚本(即在用户浏览器中运行的脚本)的技术。 此外,它的名称有些令人误解:尽管AJAX应用程序可能使用XML发送数据,但也可能仅使用纯文本或JSON文本。 但是通常,它使用浏览器中的XMLHttpRequest对象从服务器请求数据,并使用JavaScript显示数据。
AJAX:同步或异步
AJAX可以同步和异步访问服务器:
- ·同步,在该脚本中,脚本停止并等待服务器发送回答复,然后继续。
- ·异步地,脚本使页面得以继续处理,并在到达时和到达时处理答复。
同步处理你的请求与重新加载页面相似,但是仅下载请求的信息而不是整个页面。因此,同步使用AJAX比完全不使用AJAX更快-但它仍然需要你的访问者等待下载完成,然后才能继续与页面进行任何交互。人们知道有时候他们需要等待页面加载,但是大多数人不习惯在网站上之后持续大量的延迟。
异步处理你的请求避免了从服务器进行检索时的延迟,因为你的访问者可以继续与网页进行交互;所请求的信息将在后台处理,响应将在页面到达时更新页面。此外,即使响应被延迟(例如,在数据非常大的情况下),站点访问者也可能无法意识到这一点,因为它们被页面上的其他地方占据了。
因此,使用AJAX的首选方法是尽可能使用异步调用。这是AJAX中的默认设置。
为什么要使用同步AJAX?
如果异步调用提供了这种改善的用户体验,那么为什么AJAX完全提供了进行同步调用的方法?
尽管在大多数情况下异步调用是最佳选择,但在极少数情况下,不允许访问者继续与网页进行交互直到完成特定的服务器端过程才有意义。
在许多情况下,最好完全不使用AJAX,而只是重新加载整个页面。 AJAX中的sync选项适用于少数情况,在这种情况下你不能使用异步调用,但是不需要重新加载整个页面。 例如,你可能需要处理一些顺序很重要的事务处理。 考虑一种情况,在这种情况下,网页需要在用户单击某些内容后返回确认页面。 此任务需要同步请求。
> 喜欢这篇文章的可以点个赞,欢迎大家留言评论,记得关注我,每天持续更新技术干货、职场趣事、海量面试资料等等
> 如果你对java技术很感兴趣也可以交流学习,共同学习进步。
> 不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代
文章写道这里,欢迎完善交流。最后奉上近期整理出来的一套完整的java架构思维导图,分享给大家对照知识点参考学习。有更多JVM、Mysql、Tomcat、Spring Boot、Spring Cloud、Zookeeper、Kafka、RabbitMQ、RockerMQ、Redis、ELK、Git等Java干货
何时使用异步或同步AJAX的更多相关文章
- ajax中的async属性值之同步和异步及同步和异步区别
jquery中ajax方法有个属性async用于控制同步和异步,默认是true,即ajax请求默认是异步请求,有时项目中会用到AJAX同步.这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里 ...
- Ajax的异步与同步(async)
1.async值为true (异步)当ajax发送请求后,在等待server端返回的这个过程中,前台会继续 执行ajax块后面的脚本,直到server端返回正确的结果才会去执行success,也就是说 ...
- jQuery Ajax(异步改同步)
在实际使用中,我们经常会用的Ajax(异步加载,在不刷新整个网页的前提下对网页部分内容进行更新) 使用时,偶尔会遇上需要从一个接口中得到一个数组和数据对应的id,在另一个接口上再得到数据,最初写法如下 ...
- jQuery同步Ajax带来的UI线程阻塞问题及解决办法
俗话说不作死就不会死,今天作死了一回,写了一个比较二逼的函数,遇到了同步Ajax引起的UI线程阻塞问题,在此记录一下. 事情起因是这样的,因为页面上有多个相似的异步请求动作,本着提高代码可重用性的原则 ...
- 漫话JavaScript与异步·第三话——Generator:化异步为同步
一.Promise并非完美 我在上一话中介绍了Promise,这种模式增强了事件订阅机制,很好地解决了控制反转带来的信任问题.硬编码回调执行顺序造成的"回调金字塔"问题,无疑大大提 ...
- jQuery同步Ajax带来的UI线程阻塞问题及解决方法
遇到了同步Ajax引起的UI线程阻塞问题,在此记录一下. 事情起因是这样的,因为页面上有多个相似的异步请求动作,本着提高代码可重用性的原则,我封装了一个名为getData的函数,它接收不同参数,只负责 ...
- 正确理解这四个重要且容易混乱的知识点:异步,同步,阻塞,非阻塞,5种IO模型
本文讨论的背景是Linux环境下的network IO,同步IO和异步IO,阻塞IO和非阻塞IO分别是什么 概念说明 在进行解释之前,首先要说明几个概念: - 用户空间和内核空间 - 进程切换 - 进 ...
- ASP.NET sync over async(异步中同步,什么鬼?)
async/await 是我们在 ASP.NET 应用程序中,写异步代码最常用的两个关键字,使用它俩,我们不需要考虑太多背后的东西,比如异步的原理等等,如果你的 ASP.NET 应用程序是异步到底的, ...
- 入门级的按键驱动——按键驱动笔记之poll机制-异步通知-同步互斥阻塞-定时器防抖
文章对应视频的第12课,第5.6.7.8节. 在这之前还有查询方式的驱动编写,中断方式的驱动编写,这篇文章中暂时没有这些类容.但这篇文章是以这些为基础写的,前面的内容有空补上. 按键驱动——按下按键, ...
随机推荐
- Python中随机数的生成
在Python中要实现随机数的生成,需要使用random模块中randint方法. 其具体实现方法如下: import random a = random.randint(1,20) #(1,20)为 ...
- ios--->OC中Protocol理解及在代理模式中的使用
OC中Protocol理解及在代理模式中的使用 Protocol基本概念 Protocol翻译过来, 叫做"协议",其作用就是用来声明一些方法: Protocol(协议)的作用 定 ...
- node--->PHPStorm 停留在 Scanning files to index..
使用webpack时,敲了npm 一些命令后,PHPStorm 开始 Scanning files to index...,去建立文件索引,但是如果一直停留在这个状态,说明是npm install 后 ...
- nginx之基础安装
前言 nginx的安装方式可能不同,具体取决于操作系统:对于Linux,可以使用nginx.org的nginx软件包.在FreeBSD上,可以从软件包或通过端口系统安装nginx. 端口系统提供了更大 ...
- Leetcode 题目整理-2 Reverse Integer && String to Integer
今天的两道题关于基本数据类型的探讨,估计也是要考虑各种情况,要细致学习 7. Reverse Integer Reverse digits of an integer. Example1: x = 1 ...
- 优雅对API进行内部升级改造
优雅对API进行内部升级改造 背景 随着业务的快速发展老的系统将逐渐的无法快速支撑现有业务迭代重构一个必然的过程;然而在底层业务系统重构的过程中,对外提供的API也同时需要进行相应的升级替换;推动外部 ...
- iNeuOS工业互联平台,iNeuKernel(物联网核心组件)远程控制标准化设计与实现。发布v2.3版本。
目 录 1. 概述... 2 2. 平台演示... 2 3. 控制端与iNeuKernel的交互协议... 3 4. 设备驱动实现控制业务... 4 ...
- 使用stringstream打破字符与其他类型之间的隔阂
考虑这样一个问题:给您一行各位数字,计算它们的和.数字之间用空格隔开.只能使用字符串. 一般考虑使用getchar,但这对于不熟悉 ASCLL 码的同学十分困难.C++的sstream头文件中提供了十 ...
- https搭建(自签名证书)
博客搬家: https搭建(自签名证书) 上一篇博客探究了https(ssl)的原理,为了贯彻理论落实于实践的宗旨,本文将记录我搭建https的实操流程,使用Apache2+ubuntu+openss ...
- js - 构造函数-静态属性/方法-原型对象 - 前端第八课
先来个普通对象 var duixiang={ a:"111", b:function (s) { return s+"886"; } }; console.lo ...