Intereting Posts
Создание первой публикации более широкой, чем другие сообщения на домашней странице (по умолчанию) с mysql, добавьте настраиваемые поля в сообщения с определенным значением настраиваемого поля import excel form в wordpress Добавить атрибуты отсрочки в WordPress Сценарии с последовательным управлением версиями Пользовательская тема: как вызвать archive-post.php для просмотра сообщений в блоге Скрыть пункты меню для посетителей и фильтровать на основе роли Переопределение полей в Add New Post admin ui Новости и Лучшее изображение Дополнительный вариант в редакторе Как создать пользовательскую страницу edit.php / edit pages PHP WordPress оптимизация мой код цикла Допустимо ли для темы WordPress не принимать виджеты? Являются ли пользовательские типы сообщений подходящими для хранения большого количества элементов данных, в этом случае чат-сообщения? Есть ли другое место – помимо темы, плагина или mu-plugin – возможно, что вариантная страница может быть использована? wp-includes не содержит шаблон подачи

Ajax-вызов через admin-ajax.php возвращает ошибку 404

Я пытаюсь сделать довольно простой запрос AJAX на данный момент, просто чтобы проверить функциональность, маршрутизируя мои вызовы через adminajax.php. Тем не менее, каждый раз, когда я пытаюсь запустить запрос AJAX, я получаю ошибку 404, в которой говорится: «Неисследованный синтаксис: Неожиданный токен <». WTF? Похоже, это делается из-за карота в моем DTD … Я прошел через свой код, но не могу понять, что я здесь делаю неправильно … Я довольно новичок в работе с AJAX, поэтому любой помощь будет оценена.

Php в functions.php не является ничем …

function shows_callback(){ echo '<h1>Test</h1>'; } 

Вызов ajax …

  $(".tabs .btn").click(function(e) { e.preventDefault(); $.ajax({ url:"/wp-admin/admin-ajax.php", type: "GET", dataType: "html", cache: false, data: { action: "shows" }, success: function(resp) { $(".ajax-show").append(resp); }, error: function(xhr, status, error){ var err = JSON.parse(xhr.responseText); console.log(err); } }); }); .  $(".tabs .btn").click(function(e) { e.preventDefault(); $.ajax({ url:"/wp-admin/admin-ajax.php", type: "GET", dataType: "html", cache: false, data: { action: "shows" }, success: function(resp) { $(".ajax-show").append(resp); }, error: function(xhr, status, error){ var err = JSON.parse(xhr.responseText); console.log(err); } }); }); 

Что я могу делать неправильно?

EDIT: полная ошибка:

 Uncaught SyntaxError: Unexpected token < 

Я думаю, что это связано с типом dataType, но я объявил html, поэтому я не понимаю …

success и error – это функции , а не свойства функции AJAX. Рабочий код:

 $(".tabs .btn").click(function(e) { e.preventDefault(); $.ajax({ url:"/wp-admin/admin-ajax.php", type: "GET", dataType: "html", cache: false, data: { action: "shows" } }) .success(function(resp) { $(".ajax-show").append(resp); }) .error(function(xhr, status, error) { var err = JSON.parse(xhr.responseText); console.log(err); }); }); . $(".tabs .btn").click(function(e) { e.preventDefault(); $.ajax({ url:"/wp-admin/admin-ajax.php", type: "GET", dataType: "html", cache: false, data: { action: "shows" } }) .success(function(resp) { $(".ajax-show").append(resp); }) .error(function(xhr, status, error) { var err = JSON.parse(xhr.responseText); console.log(err); }); }); 

Также следует отметить:

Уведомление об изъятии: обратные вызовы jqXHR.success (), jqXHR.error () и jqXHR.complete () удаляются с jQuery 3.0. Вместо этого вы можете использовать jqXHR.done (), jqXHR.fail () и jqXHR.always ().

Убедитесь, что вы установили

 define( 'WP_DEBUG', false ); 

Другие уведомления и возможные ошибки могут вызвать 404.