Ajax返回正确的响应但不显示html

时间:2014-05-06 09:53:07

标签: javascript php jquery html ajax

我有一个页面,我通过jQuery和Ajax调用从SQL数据库获取数据。页面加载时,脚本将从PHP文件中获取数据。 Ajax得到了正确的响应(我可以在Firebug中看到它),但不会将它作为HTML显示在div中。

头版:

<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<?php foreach($news as $item): ?>

<li style="border-top: 5px solid #a1cb2f;" class="block" id="post_<?php echo $item['date_added'] ?>">
<img class="post_user_img" src="<?php echo "/userdata/profile_pics/".$item['user_img'] ?>">
<span class="feedtext">                             
  <div class="added_by"></div>
  <script type="text/javascript">
  function get_userdata() {
   user_id = "<?php echo $item['added_by'] ?>";
   var datastring = 'user_id='+ user_id;

   $.ajax({
    type: "POST",
    url: "/get_userdata.php",
    data: datastring,
    dataType: "html",
    success: function(data){
 $('.added_by').html(data);
    }

   })
  };

  get_userdata();
  </script>
  </br>
  </br>
  <?php echo $item['body'] ?>
</span>
</br>                           
</li>

PHP:

<?php include("includes/session.php"); include("includes/connect_to_mysql.php");
if(isset($_POST['user_id'])){
    $user_id = $_POST['user_id'];

    $sql = mysql_query("SELECT * FROM members WHERE id='$user_id'");
    $news = array();
    $row = mysql_fetch_assoc($sql);
}

echo "<a href='user_profile.php?u=".$row['id'].">".$row['firstname']."".$row['lastname']. "</a>";
?>

现在尝试搜索了很多地方,我在Stackoverflow上看了很多问题,但是我找不到答案。如果还有其他问题完全相同,请引导我朝这个方向前进。那对你很好。

1 个答案:

答案 0 :(得分:0)

看起来您没有返回有效的HTML,请尝试:

echo "<a href='user_profile.php?u=".$row['id']."'>" .$row['firstname']."".$row['lastname']. "</a>";

请参阅额外'以关闭href属性。