Ajax-запрос WordPress продолжает возвращать 0 (включая wp_die ()) - PullRequest
0 голосов
/ 15 октября 2019

Я создаю плагин WordPress (мой первый), и в настоящее время я создаю меню администратора, но я не могу добавить некоторые функции ajax с моей собственной базой данных.

Сейчас это всегдавозвращает 0, даже если я использую wp_die (). Я также использовал die () и exit (), но все так же. Я переместил ловушки для обратного вызова в файле представления, но затем я получил 400 сообщений. В какой-то момент мне удалось получитьвся страница в качестве ответа.

Я сделал все это после этого видео https://www.youtube.com/watch?v=7pO-FYVZv94 и ресурсов со страницы разработчика wordpress

Мой скрипт:

jQuery(document).ready(function ($) {
    $('#test-form').submit(function () {

        data = {
            action: 'get_data'
        }

        $.post(ajax_object.ajax_url, data, function (response) {
            alert(response);
        });

        return false;
    });
});

view.php file

<form action="" id="test-form" method="post">
    <div>
        <input type="submit" name="test-submit" class="btn btn-primary" value="Press me!">
    </div>
</form>

<?php

 function data_callback(){
     //do the db stuff
     echo 'Hello from the callback';
     wp_die();
 }

конструктор класса admin

public function __construct(){
   add_action('admin_menu', array($this,'setup_admin_menu'));
   add_action('wp_ajax_get_data', 'data_callback');
}

и вот как я загружаю свой скрипт из класса admin вместе с другими библиотеками

wp_enqueue_script('ajax-script', plugins_url('/assets/js/scripts.js', __FILE__), array('jquery'));
wp_localize_script('ajax-script', 'ajax_object', array('ajax_url' => admin_url('admin-ajax.php')));

1 Ответ

0 голосов
/ 15 октября 2019

Попробуйте это

$.ajax( {
    type : "POST",
    url : ajax_object.ajax_url,
    data : {action: "get_data"},
    success: function( response ) {
        alert( "Your vote could not be added" );
        alert( response );
    }
} ); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...