您会收到400个错误,因为没有为AJAX请求注册回调。
以下是您执行请求的方式:
jQuery.ajax({
type: \'POST\',
url: "/mudratcr/wp-admin/admin-ajax.php",
data: {\'key\':catId},
cache: false,
success : function (data) {
jQuery(\'#sub_cat\').html(data);
console.log(data);
}
});
所以没有
action
请求中的参数。
因为您注册了如下回调:
add_action( \'wp_ajax_data\', \'fetchData\' );
add_action( \'wp_ajax_nopriv_data\', \'fetchData\' );
您应该在请求中传递“数据”作为操作:
jQuery.ajax({
type: \'POST\',
url: "/mudratcr/wp-admin/admin-ajax.php",
data: {key: catId, action: \'data\'},
cache: false,
success : function (data) {
jQuery(\'#sub_cat\').html(data);
console.log(data);
}
});
另外,我不会使用硬编码URL来管理ajax。JS中的php文件。如果您将JS文件本地化并通过real admin ajax,那会更好。php文件URL在那里。