console.log(data)总是返回0,我浏览了其他答案,他们都说要么add die();或添加操作wp_ajax_nopriv ...已经完成。有人可以帮我找到解决方案吗?

Javascript:

$('#formID').submit(function(e)
{
    e.preventDefault();

    ajaxurl = "<?php echo admin_url( 'admin-ajax.php' ); ?>";
    var data = {
        action: 'testFunction',
    }

    jQuery.post(ajaxurl, data, function(data)
    {
        console.log(data);
    });
});


Functions.php函数

add_action( 'wp_ajax_add_testFunction', 'testFunction' );
add_action( 'wp_ajax_nopriv_add_testFunction', 'testFunction' );
function testFunction()
{
    echo "test";
    die();
}

最佳答案

你的勾错了。

您必须这样做:

add_action( 'wp_ajax_testFunction', 'testFunction' );
add_action( 'wp_ajax_nopriv_testFunction', 'testFunction' );
function testFunction()
{
    echo "test";
    die();
}


删除钩子中的“添加”。

希望对您有所帮助。

ps:检查“示例”部分中的编解码器(https://codex.wordpress.org/Plugin_API/Action_Reference/wp_ajax_(action)

09-25 21:35