Wordpress Ajax - 始终返回0

时间:2015-10-10 17:47:14

标签: javascript php jquery ajax wordpress

console.log(data)总是返回0,我查看了其他答案,他们都说要么添加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();
}

2 个答案:

答案 0 :(得分:4)

你的钩子错了。

你必须这样做:

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)

部分的代码

答案 1 :(得分:0)

如果你没有得到die(),你的函数可能不会被调用... 您应该查看面板&#39;网络&#39;一个开发工具作为firebug来查看你的请求和响应...也许是一个错误。

否则它可能是一个wordpress的东西,那么你应该在wordpress专业论坛上提出这个问题。