js ajax同步和异步
时间: 2023-12-13 12:02:58 浏览: 102
JavaScript中的AJAX请求可以使用同步(Synchronous)或异步(Asynchronous)方式发送。下面是它们的区别:
1. 同步(Synchronous)AJAX请求:在发送AJAX请求后,代码会一直等待服务器响应,直到收到响应或超时。这意味着在接收到响应之前,代码会被阻塞,并且页面的其他操作会被延迟执行。同步请求一般是通过设置`async`参数为`false`来实现。
示例:
```javascript
var xhr = new XMLHttpRequest();
xhr.open('GET', 'example.com/api', false);
xhr.send();
console.log(xhr.responseText); // 等待服务器响应后输出响应内容
```
2. 异步(Asynchronous)AJAX请求:在发送AJAX请求后,代码会继续执行而不会等待服务器响应。当服务器返回响应时,会触发一个回调函数进行处理。这种方式不会阻塞页面的其他操作,可以提高用户体验。异步请求是默认的AJAX行为。
示例:
```javascript
var xhr = new XMLHttpRequest();
xhr.open('GET', 'example.com/api', true);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.responseText); // 在收到响应后输出响应内容
}
};
xhr.send();
```
请注意,使用异步AJAX请求时,需要通过回调函数来处理响应。在回调函数中执行相应的操作。
阅读全文