使用AJAX调用数据库WordPress更新计数器



我在我的网站上计数投票,当用户提交表格时,我想要一个ajax呼叫,以更新页面底部显示的票数。我通过计算表中的行数来做到这一点:

$rowcount = $wpdb->get_var("SELECT COUNT(*) FROM _db7_forms");

此代码有效,现在我想在用户提交表单时再次称呼它。

很难解释,因此我显示代码:

我在哪里显示投票数:

 <h1 class="intro"><?php echo $rowcount; ?>00000</h1>

ajax调用(我在另一个功能中调用该功能,并且已经对其进行了测试,因此它有效(:

function updateVotes(){
            $.ajax({
                url: '<?php echo admin_url('admin-ajax.php'); ?>',
                type: 'post',
                data: ({
                    action: "callDB"
                }),
                success: function (response){
                    console.log(response);
                    jQuery(".intro").html(response);
                }
            });
        }

检查选票数量的查询:

function callDB() {
    $rowcount = $wpdb->get_var("SELECT COUNT(*) FROM _db7_forms");
}

这就是我得到的,我以前从未真正与Ajax合作,因此我不太了解自己写了什么。我现在遇到的错误是 myurl.com/wp-admin/admin-ajax.php 400(不良请求(URL是正确的,并且该文件存在。

只是要清楚:给出的错误不是我唯一的问题,我很肯定它不会给我我想要的结果。我也需要下一步的帮助。

您是否尝试过?

function callDB() {
    global $wpdb;
    $rowcount = $wpdb->get_var("SELECT COUNT(*) FROM wp_posts");
    echo $rowcount;
    exit;
}
add_action( 'wp_ajax_callDB', 'callDB' ); 
add_action( 'wp_ajax_nopriv_callDB', 'callDB' );

    function updateVotes(){
        $.ajax({
            url: '<?php echo admin_url('admin-ajax.php'); ?>',
            type: 'post',
            data: ({
                action: "callDB"
            }),
            success: function (response){
                console.log(response);
                jQuery(".intro").text(response);
            }
        });
    }

最新更新