这是我第一次使用JQuery,而且我已经坚持了好几个小时了。
我试图制作喜欢和不喜欢的按钮,就像你在视频下在youtube上看到的按钮一样。在单击like按钮后,我正在使用$ _POST方法在我的数据库中的likes表中添加一个新行。但是有些不对劲。我试图跟踪问题,我知道由于某种原因,$ _POST方法无法运行“backgound.php”文件。
以下是我的代码。
<script type="text/javascript">
var user_liked = '<?php echo $user_liked; ?>';
$(document).ready(function(){
$("#li").click(function(){
if(user_liked == '0') {
$.post('<?php get_sport_you("backgound.php"); ?>' , {handle_like: 'increment'});
user_liked = 1;
} else {
$.post('<?php get_sport_you("backgound.php"); ?>' , {handle_like: 'decrement'});
user_liked = 0;
}
});
});
</script>
这就是backgound.php
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
if($_POST['handle_like'] === "increment") {
submit_increment("user_likes", the_ID(), $_SESSION['u_id']);
} else if($_POST['handle_like'] === "decrement"){
submit_decrement("user_likes", the_ID(), $_SESSION['u_id']);
}
}
?>
答案 0 :(得分:0)
谢谢大家的帮助。经过大量的努力,我能够解决问题。好吧,实际上这更像是一个WordPress问题,而不是一个jquery问题。
$.post('<?php get_sport_you("backgound.php"); ?>' , {handle_like: 'decrement'});
问题在于上面的陈述,它解释了这一点。
$.post('localhost/wordpress/wp-content/themes/sportyou/backgound.php' , {handle_like: 'decrement'});
在WordPress中,您无法直接调用PHP文件,首先必须先创建页面模板,然后再从中创建页面。然后你可以发一个帖子请求。这背后的原因是,如果我直接调用PHP文件,许多预定义的WordPress函数将无法正常工作。例如add_action(),全局$ wpdb,你会得到各种错误。这些函数和对象不起作用,这就是为什么我无法使用$ wpdb对象将数据插入表中的原因。以下是正确的版本。
$.post('http://localhost/mysite/background/' , {handle_like: 'decrement'});