在Wordpress中的Ajax请求,无法让我的自定义函数执行

时间:2012-11-01 05:06:48

标签: php javascript jquery ajax wordpress

我使用jQuery在wordpress中向admin-ajax.php文件发出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" /> 

根据代码,所有表单数据都将打印在屏幕上,但这不会发生。我已经从firebug中验证Xhr admin-ajax.php请求被解雇但由于某种原因activitysubmitTeamMeetingPt()没有被调用/执行,而ajax请求只返回0,http状态码为200。 / p>

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

1 个答案:

答案 0 :(得分:3)

更新,我明白了。 action的隐藏属性应为:

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

现在它工作得很好。感谢大家的关注