AJAX正在返回请求页面的HTML

时间:2014-01-18 19:06:51

标签: javascript php jquery ajax .htaccess

社交网站:帖子显示在主页上。他们可以被喜欢和评论。如果喜欢帖子,它会通过AJAX更新like表,并将计数加一。这在home.php中可以正常工作,但在用户个人资料页面user.php上却无效。如果我点击user.php按钮,AJAX将返回整个页面(请求页面like),其中包含一些错误,其PHP变量未定义。该网址实际上与此http://localhost/mysite/user.php?userID=yax类似,但它被重定向并由.htaccess重写为http://localhost/mysite/user/yax。我想这是导致问题的原因,因为同样的AJAX在home.php中工作正常。 likes.php文件更新 LIKE TABLE 并返回递增的值并将其附加到like按钮。这适用于home.php

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 ); 
    });
});

.htaccess代码:

RewriteEngine  on
RewriteBase /mysite/user/

RewriteCond %{THE_REQUEST} /user\.php\?user=([^\s&]+) [NC]
RewriteRule ^ %1? [R=302,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ user.php?user=$1 [L]

任何帮助都将得到适当的赞赏。感谢。

0 个答案:

没有答案