通常最好使用异步调用

通过优锐课核心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的更多相关文章

  1. ajax中的async属性值之同步和异步及同步和异步区别

    jquery中ajax方法有个属性async用于控制同步和异步,默认是true,即ajax请求默认是异步请求,有时项目中会用到AJAX同步.这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里 ...

  2. Ajax的异步与同步(async)

    1.async值为true (异步)当ajax发送请求后,在等待server端返回的这个过程中,前台会继续 执行ajax块后面的脚本,直到server端返回正确的结果才会去执行success,也就是说 ...

  3. jQuery Ajax(异步改同步)

    在实际使用中,我们经常会用的Ajax(异步加载,在不刷新整个网页的前提下对网页部分内容进行更新) 使用时,偶尔会遇上需要从一个接口中得到一个数组和数据对应的id,在另一个接口上再得到数据,最初写法如下 ...

  4. jQuery同步Ajax带来的UI线程阻塞问题及解决办法

    俗话说不作死就不会死,今天作死了一回,写了一个比较二逼的函数,遇到了同步Ajax引起的UI线程阻塞问题,在此记录一下. 事情起因是这样的,因为页面上有多个相似的异步请求动作,本着提高代码可重用性的原则 ...

  5. 漫话JavaScript与异步·第三话——Generator:化异步为同步

    一.Promise并非完美 我在上一话中介绍了Promise,这种模式增强了事件订阅机制,很好地解决了控制反转带来的信任问题.硬编码回调执行顺序造成的"回调金字塔"问题,无疑大大提 ...

  6. jQuery同步Ajax带来的UI线程阻塞问题及解决方法

    遇到了同步Ajax引起的UI线程阻塞问题,在此记录一下. 事情起因是这样的,因为页面上有多个相似的异步请求动作,本着提高代码可重用性的原则,我封装了一个名为getData的函数,它接收不同参数,只负责 ...

  7. 正确理解这四个重要且容易混乱的知识点:异步,同步,阻塞,非阻塞,5种IO模型

    本文讨论的背景是Linux环境下的network IO,同步IO和异步IO,阻塞IO和非阻塞IO分别是什么 概念说明 在进行解释之前,首先要说明几个概念: - 用户空间和内核空间 - 进程切换 - 进 ...

  8. ASP.NET sync over async(异步中同步,什么鬼?)

    async/await 是我们在 ASP.NET 应用程序中,写异步代码最常用的两个关键字,使用它俩,我们不需要考虑太多背后的东西,比如异步的原理等等,如果你的 ASP.NET 应用程序是异步到底的, ...

  9. 入门级的按键驱动——按键驱动笔记之poll机制-异步通知-同步互斥阻塞-定时器防抖

    文章对应视频的第12课,第5.6.7.8节. 在这之前还有查询方式的驱动编写,中断方式的驱动编写,这篇文章中暂时没有这些类容.但这篇文章是以这些为基础写的,前面的内容有空补上. 按键驱动——按下按键, ...

随机推荐

  1. Dynamics email的subject标题出现 CRM:0000xxxx

    怎样移除email subject标题中出现的CRM:0000xxxx Settings->Administration->System Settings->Email->Un ...

  2. 使用Airtest进行UI自动化测试

    一.环境搭建 1.Airtest客户端下载 访问官网http://airtest.netease.com/,根据自己的系统下载相应的客户端安装: 2.python工具下载与环境搭建 在本地python ...

  3. Qt Installer Framework翻译(7-6)

    工具 Qt Installer Framework包含以下工具: > installerbase > binarycreator > repogen > archivegen ...

  4. apache和nginx那点事儿--阻塞和异步

    先明白的事儿:当一个程序在执行的时候,一般会创建一个进程,也可以有多个进程.一个进程至少会创建一个线程,多个线程共享一个程序进程的内存.程序的运行最终是靠线程来完成操作的.线程的数量跟CPU核数有关, ...

  5. STM8上电默认电平不对的解决

    首先,手册上说的是对的,STM8/32上电后所有未被初始化的引脚电平全部是浮空的.但是我的程序却出现了一个奇怪的现象 void main(void){ init();//这里初始化时钟,IO ... ...

  6. 关于远程办公,微软MVP 15年研发团队的经验分享

    今天是2月5日,春节假期结束后的第三天了.为了能够应对来势汹汹的疫情,众多互联网企业纷纷开启了远程办公模式.不知道各团队前两天的远程办公效果如何,我们 Worktile 管理层在大年初四就开始讨论远程 ...

  7. java加解密算法

    什么是加密算法?百度百科给出的解释如下: 数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容, ...

  8. HDU_3038_并查集

    http://acm.hdu.edu.cn/showproblem.php?pid=3038 并查集的应用,选择哪个点作为根结点都没关系,多了一个sum数组保存每个点到根节点的和,注意刚开始a减了1, ...

  9. POJ_1564_dfs

    题目描述: 每组数据给定一个大的数,和一系列降序的数值,要求列出不重复的数值中挑选的数的和为大数的方案,每一种方案里,每个数值最多只能使用一次. 思路: dfs基础题,每次记录大数和当前总和的差值,当 ...

  10. 使用chrome控制台调试js代码

    1.打开控制台(空白页签即可) 2.将控制台在独立页打开(点击控制台右上角的三个点图标,然后点击如下图中的图标) 3.创建脚本编辑页面 4.页面区域说明 5.花键+回车之行代码 6.常用命令介绍 6. ...