我使用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()
没有被执行?
答案 0 :(得分:3)
更新,我明白了。 action
的隐藏属性应为:
<input type="hidden" name="action" value="activitysubmitTeamMeetingPt" />
现在它工作得很好。感谢大家的关注