2015-10-10 136 views
2

console.log(数据)总是返回0,我已经查看了其他答案,他们都说要么添加die();或添加行动wp_ajax_nopriv ...我已经完成了。其他人能帮我找到解决方案吗?WordPress的Ajax - 总是返回0

的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(); 
} 

回答

3

你的钩子是错的。

你必须这样做:

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)

+0

非常感谢您!我从WP codex中获取了add_actions,但是显然搞不清它,以便与我的代码一起使用。 –

0

如果你没有得到的模具(),你的功能可能无法被称作...... 你应该看看在面板“网络'的开发工具作为萤火虫来查看您的请求和响应...也许是一个错误。

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