我在我的网站上统计投票,当用户提交表单时,我想要一个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(错误请求) 该网址是正确的,该文件存在。
只是要说清楚:给出的错误不是我唯一的问题,我很肯定它不会给我我想要的结果。我也需要帮助完成后续步骤。
答案 0 :(得分:2)
你有没有试过这个?
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);
}
});
}