Intereting Posts

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 может даже не видеть ваши крючки. Таким образом, не зная, где и как вы используете этот код, мы не можем предоставить какую-либо помощь, кроме подсказки инструментов отладки.