Можно ли проверить тайм-аут в jQuery.post ()?

У меня есть этот код, запрашивающий некоторую информацию о папке из базы данных mysql:

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"
    );
}

Иногда время ожидания запроса на публикацию истекает из-за плохого подключения к Интернету. Можно ли установить проверку тайм-аута для $ .post ()? Пример: если $ .post () использует более X мс, перезагрузите запрос.

ОБНОВЛЕНИЕ: Похоже, я нашел решение:

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);
        }
        }        
    });
}

Это нормальный способ сделать это? : S

9
задан Daniel A. White 4 December 2012 в 17:48
поделиться