$(function() {
// AJAX isteklerini izlemek için bir deneme sayısı haritası
var retryCounts = {};
// Tüm AJAX istekleri için bir filtre tanımlayın
$.ajaxPrefilter(function(options, originalOptions, jqXHR) {
// Anahtar olarak AJAX URL'sini kullanarak deneme sayısını saklayın
if (!retryCounts[options.url]) {
retryCounts[options.url] = 0;
}
// jqXHR objesi tamamlandığında çalışacak fonksiyon
jqXHR.done(function(data, textStatus, jqXHR) {
// Başarılı istek sonrası deneme sayısını sıfırla
retryCounts[options.url] = 0;
});
// Hata durumlarını ele al
jqXHR.fail(function(jqXHR, textStatus, errorThrown) {
// 400-599 arası durum kodları için kontrol
if (jqXHR.status >= 400 && jqXHR.status < 600) {
if (retryCounts[options.url] < 300000) { // Maksimum deneme sayısı kontrolü
retryCounts[options.url]++;
setTimeout(function() {
$.ajax(options); // AJAX isteğini yeniden başlat
}, 2000);
} else {
console.error('Maksimum deneme sayısına ulaşıldı, istek başarısız oldu.');
retryCounts[options.url] = 0; // Deneme sayısını sıfırla
}
}
});
});
});
Ajax Request Retry When HTTP Status 4xx-5xx
Tarih:Javascript
İlk Yorumu Siz Yapın