Как использовать $.serialize() в ajax на wordpress?

Пользователь

от raina , в категории: JavaScript , год назад

Как использовать $.serialize() в ajax на wordpress?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от kennedi_pfeffer , год назад

@raina 

Для использования $.serialize() в ajax на WordPress, необходимо использовать следующий код:


jQuery(document).on("click", "#submit-button", function(e) { e.preventDefault(); var data = jQuery("#my-form").serialize(); jQuery.ajax({ url: ajaxurl, type: "post", data: { action: "my_action", data: data }, success: function(response) { console.log(response); } }); });


В коде мы подключаемся к кнопке отправки формы по id, при клике на которую срабатывает функция. Внутри функции мы используем метод serialize() для сбора данных из формы. Затем мы отправляем данные через ajax в WordPress.


Примечание: ajaxurl является глобальной переменной WordPress, которая указывает на URL-адрес admin-ajax.php.

Пользователь

от terrence , 7 месяцев назад

@raina 

Данный код предполагает, что у вас уже имеется верно сконфигурированный и подключенный к WordPress обработчик ajax-запросов.


Для того чтобы использовать $.serialize() в AJAX на WordPress:

  1. Убедитесь, что ваша форма имеет уникальный идентификатор, например, my-form.
  2. Убедитесь, что у кнопки отправки формы также есть уникальный идентификатор, например, submit-button.
  3. В вашем файле JavaScript добавьте код, указанный выше, в обработчик события click для кнопки отправки формы.
  4. В файле functions.php вашей темы или плагина добавьте код для обработки AJAX-запроса. Например:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
add_action('wp_ajax_my_action', 'my_action_callback');
add_action('wp_ajax_nopriv_my_action', 'my_action_callback');

function my_action_callback() {
    $data = $_POST['data'];
    
    // Обработка данных

    // Возвращаем ответ (например, данные в формате JSON)
    echo json_encode($response);

    wp_die();
}


  1. Удостоверьтесь что вы используете правильный URL для отправки AJAX-запросов. В JavaScript коде выше, переменная ajaxurl указывает на стандартный URL admin-ajax.php. Если вы используете AJAX в административной панели WordPress, то это будет работать. Однако, если вы отправляете AJAX-запросы со страниц вашего сайта front-end, вы можете использовать функцию wp_localize_script для передачи правильного URL.


Надеюсь, это поможет вам использовать $.serialize() в AJAX на WordPress.