什么是Ajax同步请求和异步请求

59次阅读
没有评论

Ajax请求可以通过同步请求和异步请求两种方式进行发送。

同步请求会阻塞浏览器,直到请求得到响应才会进行下一步操作。在同步请求期间,用户不能与页面进行交互。这种方式的请求方式已经过时,不推荐使用。

异步请求则不会阻塞浏览器,而是在请求发送后继续执行代码,直到请求得到响应后再进行处理。在异步请求期间,用户可以与页面进行交互。这种方式是目前主流的Ajax请求方式。

下面举例说明:

同步请求示例:

var xhr = new XMLHttpRequest();
xhr.open('GET', 'example.com', false); // 第三个参数设为false表示同步请求
xhr.send();
console.log(xhr.responseText);

异步请求示例:

var xhr = new XMLHttpRequest();
xhr.open('GET', 'example.com', true); // 第三个参数设为true表示异步请求
xhr.onreadystatechange = function() {
  if (xhr.readyState === 4 && xhr.status === 200) {
    console.log(xhr.responseText);
  }
};
xhr.send();

在异步请求示例中,xhr.onreadystatechange会在每个请求状态的变化时触发,其中xhr.readyState === 4表示请求完成,xhr.status === 200表示请求成功。此时可以获取响应数据,进行下一步操作。

正文完
 
评论(没有评论)