Mysql DB:JQuery.post() üzerinde zaman aşımı kontrol etmek mümkün mü?
function gotoDir(pmcat_id, pcat_id){
$('#slideshowContainer').html('<img class="loader" src="/javascript/ajax-loader.gif">');
$.post("/publish/includes/content.includes/functions.slideshow.php",
{ updateSlideshowDir: 1, pmcat_id: pmcat_id, pcat_id: pcat_id },
function(data){
$('#pageSlideshow').html(data.content);
}, "json"
);
}
'den bazı klasör bilgileri istemek için bu koda sahibim. Bazen posta isteği kötü internet bağlantısı nedeniyle zaman aşımına uğruyor. $ .Post() üzerinde bir zaman aşımı kontrolü ayarlamak mümkün mü? Örn: $ .post() öğesi daha sonra X ms kullanıyorsa, isteği yeniden yükleyin.
GÜNCELLEME: Bir çözüm buldum gibi görünüyor:
function gotoDir(pmcat_id, pcat_id){
$('#slideshowContainer').html('<img class="loader" src="/javascript/ajax-loader.gif">');
$.ajax({
type:"post",
url:"/publish/includes/content.includes/functions.slideshow.php",
data: { updateSlideshowDir: 1, pmcat_id: pmcat_id, pcat_id: pcat_id },
dataType: "json",
success:function(data) {
if (data == null){
alert('ajax failed. reloading...');
gotoDir(pmcat_id, pcat_id);
} else {
$('#pageSlideshow').html(data.content);
}
}
});
}
Bunu yapmak için iyi bir yol mu? : S
Hayır functions.slideshow.php aslında boş dönen eğer sonsuz isteklerde neden olacak olan veri var isteği zaman aşımına uğradı anlamına gelmez boş eşitse beri, Tamam değil! Eğer çok başarıya gotoDir() koyarsanız bu longpolling istemci tarafı komut dosyası için iyi bir şablon da olduğunu – ifaour