Intereting Posts
Поиск пользовательской таксономии с пользовательским поиском сообщений Область переменной в WordPress functions.php Как отредактировать тег <title> без использования устаревшей функции `wp_title ()? Включая стороннюю библиотеку в WordPress, которая должна быть доступна с помощью wp-config Удалить атрибут типа из тегов сценариев и стиля, добавленных WordPress Если пользовательский тип сообщения Как перечислить все изображения в каталоге загрузок, кроме тех, которые прикреплены к любому сообщению wpml и языки с разными направлениями Я хочу обновить мета-таблицу пользователя Отфильтруйте пользовательскую таксономию при отображении кнопки, которую могут показать все другие таксономии WordPress 2014 Theme – Лучшее содержание с несколькими тегами? Ошибка конвертации WordPress2Blogger Отсутствует ссылка на ссылку 3.02 / 3.03 на панели инструментов Заполненные сценарии и стили загружаются в панель инструментов WordPress. Запретить авторам редактировать / удалять свои собственные или другие опубликованные сообщения

Плагин Ajax не отвечает эхо-ответам

Я создал плагин, который отправит форму через ajax. Ниже приведена функция php.

add_action('wp_ajax_nopriv_audience_intel', 'audience_intel_ajax'); add_action('wp_ajax_audience_intel', 'audience_intel_ajax'); function audience_intel_ajax() { $likeit = $_POST['likeit']; $response = $_POST['response']; $postid = $_POST['postid']; add_option( 'testing_form_like', $likeit ); add_option('testing_form_response', $response); global $wpdb; $tablename = $wpdb->prefix . "intel"; $newdata = array( 'radio' => $likeit, 'feedback' => $response, 'postid' => $postid ); $wpdb->insert ( $tablename, $newdata ); $result = "<p>Finished successfully!</p>"; // json_encode($result); echo $result; } 

Вот мой сценарий.

 jQuery(document).ready(function($) { $('.audience_intel_container .close').click(function(){ $('.audience_intel_container').fadeOut('fast', function(){ }); }); $('.audience_intel_container button').click(function(){ console.log('clicked'); var formdata = $('#audience_intel_form').serialize(); $.ajax({ type : "post", dataType : "html", url : audience_intel_js.ajaxurl, data : 'action=audience_intel&'+formdata, success: function(response) { alert(response); $('.audience_intel_container').html(response); } }) }) }); 

Данные формы правильно добавляются в базу данных, но после завершения запроса я не могу показать выходное сообщение. Я пробовал как возврат, эхо, так и echo json_encode в функции ajax.

Я ценю любое понимание.

Solutions Collecting From Web of "Плагин Ajax не отвечает эхо-ответам"

Это последний код, который я использую. Благодаря webaware, указав, что я не использовал правильный тип данных.

  jQuery(document).ready(function($) { $('.audience_intel_container .close').click(function(){ $('.audience_intel_container').fadeOut('fast', function(){ }); }); $('.audience_intel_container button').click(function(){ console.log('clicked'); var formdata = $('#audience_intel_form').serialize(); $.ajax({ type : "post", dataType : "html", url : audience_intel_js.ajaxurl, data : 'action=audience_intel&'+formdata, success: function(response) { alert(response); $('.audience_intel_container').html(response); } }) }) }); 

PHP

 add_action('wp_ajax_nopriv_audience_intel', 'audience_intel_ajax'); add_action('wp_ajax_audience_intel', 'audience_intel_ajax'); function audience_intel_ajax() { $likeit = $_POST['likeit']; $response = $_POST['response']; $postid = $_POST['postid']; add_option( 'testing_form_like', $likeit ); add_option('testing_form_response', $response); global $wpdb; $tablename = $wpdb->prefix . "intel"; $newdata = array( 'radio' => $likeit, 'feedback' => $response, 'postid' => $postid ); $wpdb->insert ( $tablename, $newdata ); $result = "<p>Finished successfully!</p>"; // json_encode($result); echo $result; exit; } 

Вам будет лучше использовать $ .post для ajax. Посмотрите здесь http://codex.wordpress.org/AJAX_in_Plugins для получения дополнительной информации.