我正在尝试在我的代码中为like
按钮实现一些AJAX。
我在屏幕上显示Like
和Dislike
按钮。我发出一个AJAX请求来检查我的数据库,并根据结果。其中一个按钮应隐藏。
这是我的剧本:
<script type="text/javascript">
function check(){
var urliditem = document.location.href;
var splitted = urliditem.split('item=');
var id = splitted[1];
$.post(
"ajax/likes.php",
{ id: id },
function(check){
alert(check);
if (check == 1){
//show the Like button
$("#dislike").hide();
}
else if (check == 0){
//show the Dislike button
$("#like").hide();
}
else{
alert('An error has occured');
}
}
);
}
$(document).ready(function() {
$("#test").click(function(e){
e.preventDefault();
check();
});
});
</script>
我检查是否从我的AJAX请求中得到了结果,但if / else语句在调用后似乎不起作用。我不明白为什么。这可能是show()/ hide()函数不起作用。
有什么想法吗?我的剧本是否正确?
<?php
echo '<div id="dislike" class="likes">'.$donneeitem['likes'].' ♥</div><a class="btn-primary btn pull-right" href="index.php?page=action&action=unlikeitem&id='.$_GET['item'].'">Unlike</a>';
echo '<div id="like" class="likes">'.$donneeitem['likes'].' ♥</div><a class="btn-primary btn pull-right" href="index.php?page=action&action=likeitem&id='.$_GET['item'].'">Like</a>';
?>
$check = db_query('SELECT * FROM likes_item WHERE user_id = ? AND item_id = ?', array($_SESSION['mc']['id'], $item_id))->fetchColumn();
if ($check>0) {
echo 0; //To show the Dislike button
}
else {
echo 1; //To show the Like button
}
答案 0 :(得分:0)
尝试更改下面的脚本,这将隐藏您不想要的按钮,并显示相应的按钮,您编写的代码似乎只是隐藏按钮而不显示它。
function(check){
alert(check);
if (check == 1){
//show the Like button
$("#dislike").hide();
$("#like").show();
}
else if (check == 0){
//show the Dislike button
$("#like").hide();
$("#dislike").show();
}
else{
alert('An error has occured');
}
}