Ajax-запрос пожеланий с отложенным объектом - PullRequest
0 голосов
/ 10 июня 2019

Я использую функцию с AJAX запросом на подсчет элементов в моем списке желаний (я использую плагин списка желаний YITH), все работает нормально, но медленно.Каждый раз, когда я нажимаю на элемент, чтобы добавить его в список желаний, мне нужно ждать 2/3 секунды, чтобы обновить счетчик, поэтому я подумал, что, возможно, я смогу сделать небольшой «хак», чтобы обновить счетчик перед вызовом ajax, а затем, если естьуспех просто оставь все как есть.

Вот мой код:

jQuery( document ).ready( function( $ ){
$(document).on( 'added_to_wishlist removed_from_wishlist', function(){
    var counter = $('#primary-menu .menu-crown');
    var mobile_counter = $('#mobile-menu .menu-crown');

    $.ajax({
        url: yith_wcwl_l10n.ajax_url,
        data: {
            action: 'yith_wcwl_update_wishlist_count'
        },
        dataType: 'json',
        beforeSend: function( data ) {

        },
        success: function( data ){
            console.log(data.count);
            counter.attr('data-count', data.count);
            counter.find('span').html(data.count);

            mobile_counter.attr('data-count', data.count);
            mobile_counter.find('span').html('('+data.count+')');
            if( counter.attr('data-count') == 5 || mobile_counter.attr('data-count') == 5 ){
                $.magnificPopup.open({
                    items: {
                        src: '#wishlist-info-popup', // can be a HTML string, jQuery object, or CSS selector
                        type: 'inline'
                    }
                });
            }
        }
    });
});});

Я думал сделать это в beforeSend, но я не знаю, как обработать счетчик и затем «переместить его» к успеху.

Подскажите, пожалуйста, с чего начать?

спасибо!

...