我的页面上有一个投票功能,页面访问者应该点击一个按钮,然后该点击将保存在数据库中。数据库中没有保存任何东西:这是jQuery:
jQuery(document).ready(function(){
jQuery('.site-footer').hide();
var counter;
var id;
jQuery('.fa-plus').click(function(){
counter = 0;
id = jQuery(this).closest('div').prop("id");
counter = counter+1;
jQuery(this).css('color','green');
jQuery(this).parent().html(counter);
alert(name);
jQuery.ajax({
url : "<?php $_SERVER['PHP_SELF'] ?>",
type : "POST",
data : {
'action' : 'add_votes',
'counter': counter,
'id' : id,
},
success:function(response){
console.log(response);
}
});
});
});
和我的WordPress插入声明:
add_action( 'wp_footer', 'my_action_javascript' );
function add_votes(){
$id = $_POST['id'];
$votes= $_POST['counter'];
if( !empty($_POST) ){
global $wpdb;
$wpdb->insert(
'fwwp_votes',
array(
'bride_id' => $id,
'votes' => $votes
),
array(
'%d',
'%d'
)
);
}
}
add_action( 'wp_ajax_no_priv_add_votes', 'add_votes' );
add_action( 'wp_ajax_add_votes', 'add_votes' );
答案 0 :(得分:1)
您提供的url
值是错误的。
Wordpress为我们提供了一个统一的文件 - wp-admin / admin-ajax.php。在Wordpress中,您必须始终使用它自己的统一文件admin_url( 'admin-ajax.php' )
来通过AJAX发送请求。
替换
url : "<?php $_SERVER['PHP_SELF'] ?>",
到
url : "<?php echo admin_url( 'admin-ajax.php' ); ?>",
<{1>}参数中的