将PHP函数连接到AJAX请求:我缺少什么?

回调消息为0,我无法弄清楚原因。

我试图尽可能地遵循本教程 ,但我显然错过了一些东西。

在Google Chrome上的网络中,每次单击触发表单提交的按钮时,我都会看到正在调用admin-ajax.php且状态为200。

我究竟做错了什么?

 
 error_reporting(-1); ini_set('display_errors', 'On'); $tm = new TeamManager(); add_action('wp_ajax_member-update', 'member_update'); function member_update() { echo json_encode("TEST ... "); } 
 jQuery('.member-update-button').click(function () { var parentForm = jQuery(this).closest('form'); var postData = parentForm.serializeArray(); jQuery.ajax({ url: "", data: { action: 'member_update', postData: postData }, type: "POST", dataType: 'json', success: function (retmsg) { alert(retmsg); // test for now }, error: function () { alert("error"); // test for now } }); }); 

您的操作挂钩名称错误为wp_ajax_member-update ,您的操作称为member_update

所以,你的PHP代码应如下所示:

 add_action('wp_ajax_member_update', 'member_update'); function member_update() { echo json_encode(array('status' => 'ok')); die(); } 

Ajax回调总是需要以WordPress中的die()语句结束。