How to use the framework/common/utils/Ajax.ajax function in framework

To help you get started, we’ve selected a few framework examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github shopsys / project-base / assets / js / frontend / components / HoverIntent.js View on Github external
$(this).find(hoverIntentSetting.getForceClickElement()).click();
                    }

                    if (hoverIntentSetting.getLinkOnMobile()) {
                        // this removes unneeded opening element when it is only link on mobile
                        if ($(window).width() > Responsive.SM) {
                            $(this).addClass(hoverIntentSetting.getClassForOpen());
                        }
                    } else {
                        $(this).addClass(hoverIntentSetting.getClassForOpen());
                    }

                    const reloadUrl = $(this).data('after-callback-url');
                    const _this = this;
                    if (reloadUrl) {
                        Ajax.ajax({
                            url: reloadUrl,
                            loaderElement: '.cart',
                            type: 'GET',
                            success: function (html) {
                                let $html = $($.parseHTML(html));

                                $($(_this).data('after-replace-selector')).html($html);
                                (new Register()).registerNewContent($html);
                            }
                        });
                    }
                },
                out: function () {
github shopsys / project-base / assets / js / frontend / cart / CartRecalculator.js View on Github external
reload () {
        const formData = $('.js-cart-form').serializeArray();
        formData.push({
            name: constant('\\App\\Controller\\Front\\CartController::RECALCULATE_ONLY_PARAMETER_NAME'),
            value: 1
        });

        Ajax.ajax({
            overlayDelay: 0, // show loader immediately to avoid clicking during AJAX request
            loaderElement: '.js-main-content',
            url: $('.js-cart-form').attr('action'),
            type: 'post',
            data: formData,
            dataType: 'html',
            success: function (html) {
                const $html = $($.parseHTML(html));

                const $mainContent = $html.find('.js-main-content');
                const $cartBox = $html.find('#js-cart-box');

                $('.js-main-content').replaceWith($mainContent);
                $('#js-cart-box').replaceWith($cartBox);

                (new Register()).registerNewContent($mainContent);
github shopsys / project-base / assets / js / frontend / cart / CartBoxItemRemover.js View on Github external
element.addEventListener('click', event => {
                event.preventDefault();

                Ajax.ajax({
                    loaderElement: element,
                    url: element.getAttribute('href'),
                    type: 'post',
                    success: function (data) {
                        if (data.success === true) {
                            $('#js-cart-box').trigger('reload');
                        } else {
                            // eslint-disable-next-line no-new
                            new Window({
                                content: data.errorMessage
                            });
                        }
                    }
                });
            });
        });
github shopsys / project-base / assets / js / frontend / components / PromoCode.js View on Github external
applyPromoCode (event, promoCode) {
        const code = promoCode.$promoCodeInput.val();

        if (code !== '') {
            const _this = this;
            const data = {};

            data[constant('\\App\\Controller\\Front\\PromoCodeController::PROMO_CODE_PARAMETER')] = code;
            Ajax.ajax({
                loaderElement: PROMOCODE_SUBMIT_BUTTON_ID,
                url: promoCode.$promoCodeInput.data('apply-code-url'),
                dataType: 'json',
                method: 'post',
                data: data,
                success: _this.onApplyPromoCode
            });
        } else {
            // eslint-disable-next-line no-new
            new Window({
                content: Translator.trans('Please enter promo code.')
            });
        }
    }
github shopsys / project-base / assets / js / frontend / components / CategoryPanel.js View on Github external
loadCategoryItemContent ($categoryItem, url) {
        Ajax.ajax({
            loaderElement: $categoryItem.find('.js-category-list-placeholder'),
            url: url,
            dataType: 'html',
            success: function (data) {
                const $categoryListPlaceholder = $categoryItem.find('.js-category-list-placeholder');
                const $categoryList = $($.parseHTML(data));

                $categoryListPlaceholder.replaceWith($categoryList);
                $categoryList.hide().slideDown('fast');

                (new Register()).registerNewContent($categoryList);
            }
        });
    }
github shopsys / project-base / assets / js / frontend / components / NewsletterSubscriptionForm.js View on Github external
ajaxSubmit (event, newsletterSubscriptionForm) {
        event.preventDefault();
        Ajax.ajax({
            loaderElement: 'body',
            url: $(event.currentTarget).attr('action'),
            method: 'post',
            data: $(event.currentTarget).serialize(),
            success: newsletterSubscriptionForm.onSuccess
        });
    }
github shopsys / project-base / assets / js / frontend / product / AddProduct.js View on Github external
static ajaxSubmit (event) {
        Ajax.ajax({
            url: $(event.target).data('ajax-url'),
            type: 'POST',
            data: $(event.target).serialize(),
            dataType: 'html',
            success: AddProduct.onSuccess,
            error: AddProduct.onError
        });

        event.preventDefault();
    }
github shopsys / project-base / assets / js / frontend / components / Login.js View on Github external
onSubmit () {
        Ajax.ajax({
            loaderElement: '.js-front-login-window',
            type: 'POST',
            url: $(this).attr('action'),
            data: $(this).serialize(),
            success: function (data) {
                if (data.success === true) {
                    const $loaderOverlay = createLoaderOverlay('.js-front-login-window');
                    showLoaderOverlay($loaderOverlay);

                    document.location = data.urlToRedirect;
                } else {
                    const $validationErrors = $('.js-window-validation-errors');
                    if ($validationErrors.hasClass('display-none')) {
                        $validationErrors
                            .text(Translator.trans('This account doesn\'t exist or password is incorrect'))
                            .show();
github shopsys / project-base / assets / js / frontend / deliveryAddress / deliveryAddress.js View on Github external
eventContinue: () => {
                const deliveryAddressId = $input.val();
                if (deliveryAddressId > 0) {
                    Ajax.ajax({
                        overlayDelay: 0,
                        loaderElement: '#js-delivery-address-fields',
                        url: $this.data('href'),
                        type: 'get',
                        success: function () {
                            deliveryAddress.deleteSuccessMessage();
                            $this.closest('.js-delivery-address-row').remove();
                        },
                        error: function () {
                            deliveryAddress.deleteErrorMessage();
                        }
                    });
                }
            }
        });
github shopsys / project-base / assets / js / frontend / components / AjaxMoreLoader.js View on Github external
onClickLoadMoreButton (ajaxMoreLoader) {
        $(this).hide();

        const requestData = {};
        requestData[ajaxMoreLoader.pageQueryParameter] = ajaxMoreLoader.page + 1;

        Ajax.ajax({
            loaderElement: ajaxMoreLoader.$wrapper,
            type: 'GET',
            url: ajaxMoreLoader.url,
            data: requestData,
            success: function (data) {
                const $response = $($.parseHTML(data));
                const $nextItems = $response.find('.js-list > *');
                ajaxMoreLoader.$currentList.append($nextItems);
                ajaxMoreLoader.page++;
                ajaxMoreLoader.paginationToItem += $nextItems.length;
                ajaxMoreLoader.$paginationToItemSpan.text(ajaxMoreLoader.paginationToItem);
                ajaxMoreLoader.updateLoadMoreButton();

                (new Register()).registerNewContent($nextItems);
            }
        });