我正在一个社交网站上工作,用户帖子显示在主页上。他们可以被喜欢和评论。如果喜欢帖子, 它通过AJAX更新 like table ,并将计数加1。
AJAX代码:
$(".mlike").click(function () {
$(".murconform").submit(function(e){
return false;
});
var $this=$(this);
var post_id = $(this).val();
var user_id = $(".user_id").text();
alert('Post: '+post_id +' User: '+user_id);
var request = $.ajax({
url: "likes.php",
type: "POST",
data: { post : post_id , user : user_id },
dataType: "html"
});
request.done(function( msg ) {
$this.prev('.likecount').html( msg );
});
});
在home.php
页面中,我有一些PHP变量($ userID,$ userName),它们是从MySQL获取的数据,它们都可以正常工作但是它们都可以
不能使用user.php
中的变量($ seenUserID,$ seenUserName)。在user.php
中,只有与个人资料相关的帖子
已查看已获取,但当您按下“赞”按钮并尝试对任何帖子发表评论时,它会显示未定义的变量; $viewedUserID, $viewedUserName
。还有这些
变量是从user.php
页面的开头定义的。
我一直在考虑可能的原因是什么,并且还认为AJAX被假定对点击的效果有影响 按钮。
注意:警报工作正常。
提前致谢。
答案 0 :(得分:0)
打算写评论,但我想答案会更清楚:
<强>的Ajax 强>
我认为你对阿贾克斯的工作感到困惑。问题是Ajax实际上只是前端(JS / HTML)和后端(PHP / Rails等)之间的连接器
您的声明“Ajax没有更新MYSQL”让我相信您依靠Ajax来更新您的表。它不会
您的表格将使用PHP进行更新,这就是为什么大多数评论都集中在PHP&amp;不是JS
<强> PHP 强>
您的Ajax需要将正确的数据发送到PHP,但是这是您的服务器端脚本的工作,将其全部排序,发送一个有价值的响应
你的JS看起来会运行良好,但我认为你的问题将在你的后端。如果您使用PHP更新问题,您将获得更清晰的答案!