Intereting Posts
Добавить стандартные атрибуты страницы Metabox для страницы Parent Ссылка для заказа Woocommerce в электронной почте клиента В архиве категорий отображаются все сообщения, а не определенная категория Загрузка внешних файлов jQuery с помощью $ Сброс ролей и возможностей по умолчанию Как скрыть плагин metox для не админов, когда пользователь добавляет новое сообщение Комментарии не соответствуют настройке display_name, как сделать плагин для преодоления этого Отфильтруйте заголовок блога без использования глобальных переменных Получить значение в пользовательском поле с таксономией author.php добавлен в шаблон, не работающий на сервере Nginx Возможно ли иметь собственный тип сообщения с фидом, но без архива? Сделать уникальное отображаемое имя Обработка данных ретранслятора Каков наилучший способ (относительно производительности) установить переходные процессы для зарегистрированных пользователей? Только показ предстоящих событий

WordPress переднего конца AJAX. Возврат 0:?

Я создал соответствующий код для обработки запроса AJAX в WordPress, но я получаю 0 в качестве ответа от сервера.

Мой код плагина здесь:

class my_plugin { function my_plugin() { add_action('wp_ajax_do_ajax', array($this, 'do_ajax')); add_action('wp_ajax_nopriv_do_ajax', array($this, 'do_ajax')); add_action('wp_head', array($this, 'init')); } function init() { ?> <script type="text/javascript"> var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>"; </script> <?php } function do_ajax() { print_r($_POST); die(); } } $mp = new my_plugin(); 

Это мой код jQuery:

 jQuery(document).ready( function($) { $.ajax( { type: "POST", url: ajaxurl, data: {action: "do_ajax", some_data: "some_value"}, success: function(e) { console.log(e); } } ); } ); 

Solutions Collecting From Web of "WordPress переднего конца AJAX. Возврат 0:?"

Я бы рекомендовал использовать несколько различных инструментов, чтобы попытаться отладить взаимодействие. Прежде всего, вы можете точно видеть, что отправляет jQuery через AJAX, используя консоль отладки, встроенную во многие браузеры. Если все остальное не удастся, нажмите F12, и он запустит консольное окно практически во всем. Если это не работает, установите Firebug для Firefox, чтобы у вас было консольное окно.

Консоль покажет вашу сетевую активность. Открыв консоль, обновите страницу. Он должен зарегистрировать ваш запрос AJAX, чтобы вы могли убедиться, что запрос отправляет данные, которые вы намерены использовать для URL-адреса, который вы собираетесь использовать.

Кроме того, вы можете использовать инструмент, например Fiddler, для перехвата запроса и ответа. Затем вы можете точно проверить, что было отправлено, где и что ответили.

С этим сказал … мы не сможем помочь вам. Вот почему:

  1. Вы не предоставили нам весь код, поэтому мы не можем установить ваш плагин на наших серверах для проверки. Где вы вызываете $mp = new my_plugin(); , например? Если он не вызывается в правильных местах, тогда ваш код не будет срабатывать.
  2. Мы не знаем, как настроен ваш сайт. Вы enqueue jQuery перед попыткой использовать jQuery AJAX? На что похож результат этой темы.

Номер 1 в этом случае может быть большой проблемой. Если вы объявляете новый экземпляр my_plugin() внутри своей темы, тогда admin-ajax.php может даже не видеть ваши крючки. Таким образом, не зная, где и как вы используете этот код, мы не можем предоставить какую-либо помощь, кроме подсказки инструментов отладки.