AJAX请求无法获取任何信息

时间:2012-05-03 22:30:10

标签: php javascript ajax

这是我的PHP文件代码:

<?php
require('config.inc'); //Init DB.

$current_user_id = $_GET['uid']; //Set User ID From AJAX GET.

mysql_query("USE social-network"); //Set MySQL DB.

$userFavs = "SELECT subscribee_id FROM subscribe WHERE subscriber_id = '" . $current_user_id . "'"; //Get people user is subscribed to.

$query="SELECT * FROM posts WHERE (post_owner_id IN ($userFavs) OR post_owner_id = '" . $current_user_id . "') ORDER BY id DESC"; //Select posts by user AND by people user is subscribed to.

$result=mysql_query($query); //Do the query.

$num=mysql_numrows($result); //Get number of rows in query.

$i=0; //Display selected posts.
while ($i < $num) {

$owner_id=mysql_result($result,$i,"post_owner_id");
$content=mysql_result($result,$i,"content");
$date=mysql_result($result,$i,"date");


$poi_query=mysql_query("SELECT firstname, lastname, profile_picture FROM `social-network`.`users` WHERE id = '" . $owner_id . "'") or die(mysql_error());
$post_firstname=mysql_result($poi_query, 0, "firstname");
$post_lastname=mysql_result($poi_query, 0, "lastname");
$post_profile_picture=mysql_result($poi_query, 0, "profile_picture");
?>

      <div class="post">
        <h1 class="post-title"><a href="profile.php?user=<?php echo $owner_id; ?>"><?php echo $post_firstname; ?> <?php echo $post_lastname; ?></a></h1>
        <p class="content"><?php echo $content; ?></p>
        <p class="details"><?php echo $date; ?></p>

      </div>

      <?php
$i++;
}
?>

这是我的JS AJAX请求:

function loadPosts()
{
xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","PHP/news-feed.php?uid=<?=$current_user_id?>",true);
xmlhttp.send();
document.getElementById("posts").innerHTML=xmlhttp.responseText;
}

我页面上的帖子部分下没有显示任何内容。我究竟做错了什么? PHP代码经过测试,当我直接将其包含在帖子页面中时,它就可以运行了。 我正在尝试做什么:PHP Newsfeed with Reload

2 个答案:

答案 0 :(得分:0)

id为“posts”的元素在哪里?,我只能看到带有帖子类

的div标签

答案 1 :(得分:0)

你的ajax有一个问题,就是假设它是同步的:你在发送请求后正在期待一个结果,而是你应该在onreadystatechange事件上附加一个事件处理程序。 / p>

如果您对ajax没有任何经验,我建议您使用像jQuery这样的库来为您处理。

除此之外,我也没有看到你在哪里调用你的ajax函数。