什么时候使用异步或同步AJAX

藏色散人
藏色散人 原创
2019-01-22 14:39:54 3031浏览

AJAX代表异步JavaScript和XML,是一种允许异步更新web页面的技术,这意味着当页面上只有少量数据发生更改时,浏览器不需要重新加载整个页面。AJAX只向服务器传递更新后的信息。

标准web应用程序同步处理web访问者和服务器之间的交互。这意味着一件事接一件事发生;服务器不执行多任务。如果单击按钮,消息将发送到服务器,并返回响应。在接收到响应并更新页面之前,您不能与任何其他页面元素进行交互。

显然,这种延迟会对web访问者的体验产生负面影响——因此使用AJAX。

AJAX是什么?

AJAX不是一种编程语言,而是一种集成了与web服务器通信的客户端脚本(即在用户浏览器中运行的脚本)的技术。此外,它的名称有些误导:虽然AJAX应用程序可能使用XML发送数据,但它也可以只使用纯文本或JSON文本。但通常,它使用浏览器中的XMLHttpRequest对象(从服务器请求数据)和JavaScript显示数据。

AJAX:同步或异步

AJAX实际上可以同步和异步地访问服务器:

同步地,其中脚本停止并等待服务器在继续之前发回回复。

异步其中脚本允许继续处理页面,并在页面到达时处理回复。

同步处理请求类似于重新加载页面,但只下载所请求的信息,而不是整个页面。因此,同步使用AJAX比完全不使用它要快,但它仍然要求访问者在与页面进行任何进一步交互之前等待下载。通常,用户知道他们有时需要等待页面加载,但不习惯在站点上出现持续的、显著的延迟。

异步处理请求可以避免从服务器进行检索时的延迟,因为访问者可以继续与web页面交互;请求的信息将在后台处理,响应将在页面到达时更新页面。此外,即使响应被延迟(例如,在非常大的数据的情况下),用户可能也不会意识到这一点,因为他们在页面的其他地方占用了时间。然而,对于大多数响应,访问者甚至不知道向服务器发出了请求。

因此,使用AJAX的首选方法是尽可能使用异步调用。这是AJAX中的默认设置。

为什么使用同步AJAX?

如果异步调用提供了这样一种改进的用户体验,为什么AJAX提供了一种进行同步调用的方法呢?

虽然异步调用在大多数情况下都是最好的选择,但是在极少数情况下,允许访问者继续与web页面交互是没有意义的,直到特定的服务器端流程完成。

在许多情况下,最好完全不使用Ajax,而只是重新加载整个页面。AJAX中的同步选项适用于少数无法使用异步调用但无需重新加载整个页面的情况。例如,您可能需要处理一些订单很重要的事务处理。考虑这样一种情况:web页面需要在用户单击某个内容之后返回一个确认页面。这需要同步请求。

以上就是什么时候使用异步或同步AJAX的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。