Intereting Posts
Необязательно вызывать add_submenu_page и add_menu_page из hook_Admin? Различные категории для пользовательских типов сообщений Как добавить счет в категорию пользовательской таксономии? Условная структура постоянной ссылки Как эхо пользовательские стили в формате css? Имя привязки (имя идентификатора) в адресной строке Как изменить ссылку меню продукта на панели администратора WordPress Добавление ссылки комментария в начало каждого сообщения Расположение метаданных изображения на моем сервере Как правильно переписать CPT-Permalinks (включая мета-данные)? Как удалить файл, включенный в родительскую тему с помощью locate_template () через дочернюю тему? Автоматическое добавление атрибутов Alt при загрузке изображений в медиабиблиотеку Как фильтровать пользователей в настраиваемых метаполях в WP JSON v2? Персональная страница для каждого пользователя (не только для авторов) Страницы с конкретными запросами

Ajax не работает (ожидается 0)

Я пытаюсь передать данные POST из моей формы через ajax в базу данных mysql. Этот код подключен к действию «after_setup_theme»:

add_action("wp_ajax_ajax_anmeldung", "ajax_anmeldung"); add_action("wp_ajax_nopriv_ajax_anmeldung", "ajax_anmeldung"); function ajax_anmeldung() { echo "<script> alert('hey'); </script>"; die(); } 

И это код JS, который его вызывает:

 $('#teilnahme_form').submit(function(e){ e.preventDefault(); var name = document.getElementById("name").value; jQuery.ajax({ type:"POST", url: window.ajaxurl, data: { action: "ajax_anmeldung", name : name }, success:function(data){ alert(data); } }); }); 

Когда я запускаю это, я получаю «0», не более того.

Когда я попытался: http://my-domain.com/wp-admin/admin-ajax.php?action=ajax_anmeldung, я также получаю «0».

Я читал все остальные сообщения здесь, окружая эту тему, но мне ничего не помогло, или я упустил что-то действительно важное.

ура

Solutions Collecting From Web of "Ajax не работает (ожидается 0)"

Попробуйте следующее:

Добавьте в функцию theme.php следующее:

 add_action( 'init', 'tnc_aj_scripts' ); function tnc_aj_scripts() { wp_register_script( "ajax_anmeldung_script", get_template_directory_uri(). '/my-ajax.js', array('jquery'), '1.0', true); wp_localize_script( 'ajax_anmeldung_script', 'mYAjax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ))); wp_enqueue_script( 'jquery' ); wp_enqueue_script( 'ajax_anmeldung_script' ); } add_action("wp_ajax_ajax_anmeldung", "ajax_anmeldung"); add_action("wp_ajax_nopriv_ajax_anmeldung", "ajax_anmeldung"); function ajax_anmeldung() { $result['one'] = 'Hey'; $result = json_encode($result); echo $result; die(); } 

Создайте файл .js в своем каталоге тем, который называется my-ajax.js, и вставьте следующий файл внутри этого файла:

 jQuery('#teilnahme_form').submit(function(e){ e.preventDefault(); var name = document.getElementById("name").value; jQuery.ajax({ type:"post", dataType : "json", url : mYAjax.ajaxurl, data: { action: "ajax_anmeldung", name : name }, success:function(data){ alert(data.one); } }); }); 

При использовании «POST» в качестве типа запроса исключите «действие» в параметре данных и добавьте его к URL-адресу.

 $('#teilnahme_form').submit(function(e){ e.preventDefault(); var name = document.getElementById("name").value; jQuery.ajax({ type:"POST", url: window.ajaxurl + '?action=ajax_anmeldung', data: { name : name }, success:function(data){ alert(data); } }); });