Php WP函数未接收Ajax变量
我正在尝试为WordPress学习一些AJAX,但似乎它应该很简单。AJAX函数正确地获取ID,并通过admin-AJAX.php(我可以在devtools的XHR选项卡中看到)发送它,但函数不会接收它。请问我错过了什么Php WP函数未接收Ajax变量,php,ajax,wordpress,Php,Ajax,Wordpress,我正在尝试为WordPress学习一些AJAX,但似乎它应该很简单。AJAX函数正确地获取ID,并通过admin-AJAX.php(我可以在devtools的XHR选项卡中看到)发送它,但函数不会接收它。请问我错过了什么 jQuery(document).ready( function($) { var post_id = $('article').attr('ID'); post_id = post_id.replace('post-',''); console.lo
jQuery(document).ready( function($) {
var post_id = $('article').attr('ID');
post_id = post_id.replace('post-','');
console.log(post_id);
$.ajax({
url: updatecount.ajax_url,
data : {
action : 'updateCount',
post_id : post_id,
},
success : function( data ) {
console.log(data)
},
error : function( data ) {
console.log('failed');
}
})
})
…它调用的函数如下所示:
function updateCount() {
$post_id = intval($_POST['post_id']);
echo 'Function has ID as: '. $post_id;
die();
}
这将返回以下控制台输出:
AJAX has ID as: 187963
Function has ID as: 0
默认情况下,
jQuery.ajax
发出GET
请求,但您正在$\u POST
中检查数据。您可以在PHP端选中$\u GET
,也可以在jQuery.ajax
options对象中添加method:'POST'
请注意,如果您使用的是非常旧的jQuery(1.9.0之前),您需要使用
类型:“POST”
,而不是方法:“POST”
,根据。可能这是一个。它没有列出,但是post\u id
听起来像是一个旧的wp回退。感谢Joel,这就是问题所在,使用$\u post
而不是$\u GET
。现在一切正常,很好。