Javascript AJAX无法在另一个页面上正常工作

Javascript AJAX无法在另一个页面上正常工作,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我在一个社交网站上工作,该网站的主页上显示用户帖子。他们可以被喜欢和评论。如果有人喜欢某个帖子, 它通过AJAX更新like表,并将like计数增加1 AJAX代码: 在home.php页面中,我有一些php变量$userID,$userName,它们是从MySQL获取的数据,它们都工作正常,但是 不要使用user.php中的变量$viewedUserID、$viewedUserName。在user.php中,仅显示与概要文件相关的帖子 已查看的内容已获取,但当您按下like按钮并尝试对任何帖子

我在一个社交网站上工作,该网站的主页上显示用户帖子。他们可以被喜欢和评论。如果有人喜欢某个帖子, 它通过AJAX更新like表,并将like计数增加1

AJAX代码:

在home.php页面中,我有一些php变量$userID,$userName,它们是从MySQL获取的数据,它们都工作正常,但是 不要使用user.php中的变量$viewedUserID、$viewedUserName。在user.php中,仅显示与概要文件相关的帖子 已查看的内容已获取,但当您按下like按钮并尝试对任何帖子发表评论时,会显示undefine变量$viewedUserID,$viewedUserName。这些呢 变量从user.php中的页面开始定义

我一直在思考这可能是什么原因,同时也在思考支持AJAX对用户的影响 只有按钮

注意:警报工作正常


提前谢谢。

本打算写评论,但我想答案会更清楚:

阿贾克斯

我想你对Ajax的工作感到困惑了。问题是Ajax实际上只是前端JS/HTML和后端PHP/Rails等之间的连接器

你说Ajax没有更新MYSQL,这让我相信你是依靠Ajax来更新表的。不会的

您的表将通过使用PHP进行更新,这就是为什么大多数评论都关注PHP&而不是JS

PHP

您的Ajax需要将正确的数据发送到PHP,但服务器端脚本的工作是将所有数据进行分类,并发送有价值的响应


你的JS看起来会工作得很好,但我认为你的问题在于你的后端。如果你用PHP更新你的问题,你会得到更清晰的答案

在代码中找不到$viewedUserID或$viewedUserName。@bansi:它们在user.php中,太长,无法在此处显示。好的,假设$viewedUserID=1;$viewedUserName='Yax';这些变量在likes.php中可以访问吗?@Nouphal.M likes.php中不需要它们。所需要的只是post_id和user_id来正确更新likes表。。。完全不清楚你想做什么。如何在likes.php上获得user.php中声明的变量?您可能需要将其存储在会话中,包括user.php或从user.php页面发布。likes.php有一个将post\u id、user\u id、日期和其他相关数据插入like表的查询。Likes.php只使用两个发布的数据,即post和user ID。如果我单击home.php中的like按钮,一切正常,但php会为user.php中的所有变量返回未定义的变量。如何将变量传递给user.php?刚刚意识到AJAX正在返回整个页面。我指的是请求页面。所以它可以正常工作,除了返回请求页面?返回页面上的内容是什么?我真的很想听听!!!!它返回请求的HTML,其中包含PHP错误。我正试图发布另一个问题。
$(".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 ); 
        });
});