我在我的网站上计数投票,当用户提交表格时,我想要一个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);
}
});
}