Php WP函数未接收Ajax变量

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

我正在尝试为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.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
。现在一切正常,很好。