多个 ajax 请求顺序一次执行
要顺序执行多个AJAX请求,可以使用Promise
对象和then
链。以下是一个使用jQuery的例子:
function makeRequest(url) {
return $.ajax({
url: url,
type: 'GET'
});
}
// 创建请求数组
var requests = [
makeRequest('url1.php'),
makeRequest('url2.php'),
makeRequest('url3.php')
];
// 使用Promise.then链顺序执行请求
requests[0]
.then(function(response) {
console.log('请求1成功:', response);
return requests[1];
})
.then(function(response) {
console.log('请求2成功:', response);
return requests[2];
})
.then(function(response) {
console.log('请求3成功:', response);
})
.catch(function(error) {
console.error('请求出错:', error);
});
在这个例子中,makeRequest
函数创建了一个新的AJAX请求,返回一个Promise
对象。然后我们创建了一个请求数组,并使用第一个请求的then
方法开始链式调用,每个then
块都会在前一个请求成功完成后发起下一个请求。如果任何请求失败,catch
块将被触发。
评论已关闭