我正在使用 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。
现在,我想知道为什么 activitysubmitTeamMeetingPt()
没有被执行?
最佳答案
更新,我想通了。 action
的隐藏属性应该是:
<input type="hidden" name="action" value="activitysubmitTeamMeetingPt" />
现在它工作得很好。谢谢大家的观看
关于php - Wordpress 中的 Ajax 请求无法执行我的自定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13171266/