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();
}
答案 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专业论坛上提出这个问题。