Ajax多个请求
时间: 2023-11-18 20:06:16 浏览: 58
关于ajax的多次请求问题
在前端中使用 Ajax 发送多个请求的方法有两种:
1. 串行请求:每个请求都等待上一个请求完成后再发送,这种方式可以保证每个请求的执行顺序,但是会造成较长的等待时间。
2. 并行请求:所有请求同时发送,没有等待时间,但是不能保证请求的执行顺序。
下面是一个串行请求的示例代码:
```javascript
function sendRequests() {
// 第一个请求
$.ajax({
url: 'url1',
success: function(data1) {
// 处理数据
console.log(data1);
// 第二个请求
$.ajax({
url: 'url2',
success: function(data2) {
// 处理数据
console.log(data2);
// 第三个请求
$.ajax({
url: 'url3',
success: function(data3) {
// 处理数据
console.log(data3);
}
});
}
});
}
});
}
```
下面是一个并行请求的示例代码:
```javascript
function sendRequests() {
var requests = [
$.ajax({url: 'url1'}),
$.ajax({url: 'url2'}),
$.ajax({url: 'url3'})
];
$.when.apply($, requests).then(function(data1, data2, data3) {
// 处理数据
console.log(data1, data2, data3);
});
}
```
在并行请求中,我们将所有请求的 Promise 对象存储在数组中,然后使用 `$.when()` 方法等待所有请求完成。`$.when()` 方法接收多个 Promise 对象作为参数,当所有 Promise 对象都完成时,它会返回一个新的 Promise 对象,该 Promise 对象的回调函数接收每个请求的数据作为参数。
阅读全文