解决方法一:使用jQuery的$.ajax()方法
var successCount = 0; // 记录成功调用次数
var maxAttempts = 5; // 最大尝试次数
function makeAjaxCall() {
$.ajax({
url: "your_api_url",
method: "GET",
success: function(response) {
successCount++;
console.log("Success #" + successCount + ": " + response);
if (successCount < maxAttempts) {
makeAjaxCall(); // 继续调用
}
},
error: function(xhr, status, error) {
console.log("Error: " + error);
if (successCount < maxAttempts) {
makeAjaxCall(); // 继续调用
}
}
});
}
makeAjaxCall(); // 初始化调用
解决方法二:使用JavaScript的原生XMLHttpRequest对象
var successCount = 0; // 记录成功调用次数
var maxAttempts = 5; // 最大尝试次数
function makeAjaxCall() {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
successCount++;
console.log("Success #" + successCount + ": " + xhr.responseText);
if (successCount < maxAttempts) {
makeAjaxCall(); // 继续调用
}
} else {
console.log("Error: " + xhr.statusText);
if (successCount < maxAttempts) {
makeAjaxCall(); // 继续调用
}
}
}
};
xhr.open("GET", "your_api_url", true);
xhr.send();
}
makeAjaxCall(); // 初始化调用
以上两种方法都是使用递归的方式,在成功调用后继续调用自身,直到达到最大尝试次数。注意修改"your_api_url"为实际的API地址。
下一篇:Ajax查询未捕获的引用