avgustov
@avgustov

Почему повторная загрузка скрипта после ajax вызывает ошибку 400?

Всем добрый день! Суть такая, есть страница на которой выводятся записи с фильтром по таксономии и кнопкой показать еще, загрузка и фильтрация записей происходит через ajax, при нажатии на выбранную запись появляется модалка со слайдером.
Если происходит взаимодействие с фильтром или кнопкой показать еще то слайдер соответсвенно перестает работать так как весь контент на странице был загружен.
Понимаю что нужно дополнительно запускать скрипт после отработка ajax, но при попытке сделать это в консоли появляется ошибка POST https://localhost/wp-admin/admin-ajax.php 400

Код для инициализации слайдера и повторным вызовом после отработки ajax
function initSwiper() {
      var swiper = new Swiper('.swiper-container', {
        slidesPerView: 1,
        spaceBetween: 30,
        loop: true,
        autoplay: true,
        delay: 4000,
        pagination: {
          el: '.swiper-pagination',
          clickable: true,
        },
        navigation: {
          nextEl: '.swiper-button-next',
          prevEl: '.swiper-button-prev',
        },
      });
    }

    jQuery(document).ready(function() {
      initSwiper()
        var swiper = new Swiper('.swiper-container', {
          slidesPerView: 1,
          spaceBetween: 30,
          loop: true,
          autoplay: true,
          delay: 4000,
          pagination: {
            el: '.swiper-pagination',
            clickable: true,
          },
          navigation: {
            nextEl: '.swiper-button-next',
            prevEl: '.swiper-button-prev',
          },
        });


      $.ajax({
        url: 'ajax_url',
        dataType: "json",
        type: "POST",
        async: true,
        data: { },
        success: function (data) {
           $('#results').html(data.results_html);
           initSwiper(); // <---------------
        },
        error: function (xhr, exception) {
            // Error handling
        }
      });
    });


В functions.php добавлена локализация
wp_localize_script( 'custom', 'my_ajax_object',
            array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
  • Вопрос задан
  • 206 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы