带有延迟对象的愿望清单ajax请求

时间:2019-06-10 06:28:39

标签: jquery ajax jquery-deferred deferred

我正在使用带有 AJAX 请求的函数来对愿望清单中的项目进行计数(我正在使用YITH愿望清单插件),一切正常,但是速度很慢。每次我单击一个项目将其添加到愿望清单时,我都需要等待2/3秒来更新计数器,所以我在想,也许我可以做一个小的“ hack”来在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中这样做,但是我不知道如何处理计数器,然后将其“移动”到成功。

您能建议从哪里开始吗?

谢谢!

0 个答案:

没有答案