ms-dred
@ms-dred
Вечно что то не то и что то не так...

Как FancyBox включить только после получения ответа сервера?

На сервере в случае отсутствия данных отдаю заголовок 403 и необходимый текст ошибки, нужно в случае данной ошибки не открывать FancyBox, а на данный момент он (НЕ работает лишь частично). Дело в том что появляется темный фон, т.е. fancybox начинает выполняться и ожидает ответа сервера, в случае 200 все в порядке, но вот в случае 403 появляется темный фон. Как быть?

вот код:
(function($) {
    $(document).ready(function () {
        var $btn = $('[data-router="btn-fancyBox"]');

        $btn.fancybox({
            "href": this.href,
            "type": "ajax",
            "ajax": {
                "method": "POST",
                "data": $btn.data(),
                statusCode: {
                    200: function() {
                        $.fancybox.open();
                    }
                    403: function(e) {
                        $.fancybox.close();
                        return $('.message')
                            .message('start', e);
                    }
                }
            },
            maxWidth    : 700,
            maxHeight   : 500,
            fitToView   : false,
            width       : "100%",
            height      : "100%",
            autoSize    : false,
            closeClick  : false,
            openEffect  : 'none',
            closeEffect : 'none'
        });
    });
}(jQuery));
  • Вопрос задан
  • 116 просмотров
Решения вопроса 1
Я бы попробовал сначала загрузить данные отдельной функцией, чтобы инициализировать fancybox только в случае успешного ответа сервера.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы