1

我在 wordpress 中admin-ajax.php使用 jQuery 向文件发出 ajax 请求:

function ajaxSubmit() {
    var FormData = jQuery(this).serialize();    
    jQuery.ajax({
        type: "POST",
        url: "/wp-admin/admin-ajax.php",
        data: FormData, 
        success: function(data) {
            console.log(data);
        }
    });
    return false;
}
$('#form').submit(ajaxSubmit);

这是functions.php文件中的代码:

function activitysubmitTeamMeetingPt(){
    die(var_dump($_POST, $_GET));
}
add_action( 'wp_ajax_activitysubmitTeamMeetingPt', 'activitysubmitTeamMeetingPt' );
add_action( 'wp_ajax_nopriv_activitysubmitTeamMeetingPt', 'activitysubmitTeamMeetingPt' );

此外,在表格中,我确实有一个隐藏的属性action

<input type="hidden" name="action" value="submitTeamMeetingPt" /> 

根据代码,所有表单数据都将打印在屏幕上,但这不会发生。而且我已经从萤火虫验证了该Xhr请求admin-ajax.php正在被触发,但由于某种原因activitysubmitTeamMeetingPt()没有被调用/执行,并且 ajax 请求只返回 0 和 http 状态码 200。

现在,我想知道为什么activitysubmitTeamMeetingPt()没有被执行?

4

1 回答 1

3

更新,我想通了。隐藏属性action应该是:

<input type="hidden" name="action" value="activitysubmitTeamMeetingPt" /> 

现在它工作得很好。谢谢大家看

于 2012-11-01T05:12:39.707 回答