【发布时间】:2012-10-21 16:44:24
【问题描述】:
我在 wordpress 中使用 jQuery 向 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。
现在,我想知道为什么activitysubmitTeamMeetingPt() 没有被执行?
【问题讨论】:
标签: php javascript jquery ajax wordpress