我在"喜欢" php和jquery中的函数以及我的最后一部分。当我点击:
<a href="#" class = "like" onclick="like_add(<?php echo $post_id ?>);">like</a>
<span id="post_<?php echo $post_id ?>_likes">
<?php echo $post_likes; ?>
</span>
add_like.php中的函数:
<?php add_like() ?>
提交用户数据并在数据库中将类似的数量增加一个。
我遇到的问题是,当我不应该这样做时,我会收到一个警告说它已成功,并且在我刷新页面之前它不会更新类似的计数。我应该收到一条说“有效”的警报!&#39;得到这样的回报。
编辑**
现在它正在回归成功&#34;成功&#34;当我点击like按钮时,从警报中的like_add.php。确切地说:
&#39;
成功&#39;
like.js
function like_add(post_id){
$.post('../public/like_add.php', {post_id:post_id}, function(data){
if (data == 'success') {
like_get(post_id);
alert("works!");
}else{
alert("'" + data + "'");
}
});
}
function like_get(post_id){
$.post('../public/like_get.php', {post_id:post_id}, function(data){
$('#post_'+post_id+'_likes').text(data);
});
}
add_like.php
<?php
if(isset($_POST['post_id'], $_SESSION['user_id'])
&& post_exists($_POST['post_id'])){
$post_id = $_POST['post_id'];
$user_id = $_SESSION['user_id'];
if (previously_liked($post_id, $user_id) === true) {
echo "You've already liked this";
} else{
add_like($post_id, $user_id);
echo 'success';
}
}?>
答案 0 :(得分:0)
如果您在<?php
之前或结束?>
标记之后有空格(如硬回车),那么您将获得超过&#34;成功&#34;正如你在警告' success'
时看到的那样。找到这个空格并将其删除。确保您的打开PHP标记在脚本页面的左上角是齐平的。
正如评论者提到的,一个简单的解决方法是修剪data
变量,使' success'
变为'success'
;