怎么实现Ajax同步和异步的请求

什么是同步Ajax?

同步Ajax请求是在收到响应之前停止执行请求的过程,而异步Ajax请求意味着脚本继续该过程而不等待服务器回复。如果它到达,它将处理回复。

Ajax的原理很简单,向服务器对象发送一个异步请求就是从服务器获取数据,然后使用javascript来操作DOM并更新页面。这是最关键的一步,就是从服务器获取请求的数据。

默认情况下,Ajax请求是异步的,但有时您需要同步发送请求。

Javascript示例:

var req = new XMLHttpRequest();  req.open("POST", "example.php”);  // Asynchronous request  req.send();

jQuery示例:

$.ajax({   type: "POST",   url: "example.php",    success: function(data){     //response script here   } });

$.ajax() 返回 XMLHttpRequest。

让我们看一下下面的示例,以同步加载数据,这在请求处于活动状态时完全阻塞了浏览器。

JavaScript 示例:

var req = new XMLHttpRequest();   req.open("POST", "example.php”, false);  // synchronous request  req.send();

jQuery 示例:

// Instantiate a requestvar sync_request = $.ajax({      url: "example.php",      async: false,      success: function(data){           //response script here     }});

在这里,当您需要同步请求时,我们只需要传递“ async:false”。前面的示例为 open 中的最后一个参数设置了 true,而在本示例中,它设置为 false,因此请求是同步的。

AJAX的优点

Ajax给我们带来了以下好处:

最大的一点是没有页面刷新,在页面与服务器通信给用户的体验非常好。无需在每次请求中加载所有数据。

Ajax与服务器采用异步通信方式,不中断用户操作,具有更快速的响应能力。

它减少了带宽的使用,从而节省了空间和租金成本。

Ajax基于标准化和广泛支持的技术,无需下载插件或库。