2010-09-15 41 views
0

首先,我想说使用JSON即时新。jQuery JSON:“显示所有评论”发送和接收JSON

我想做什么: 作为即时制作评论系统,它只显示2评论每个“新闻”。然后,如果超过2条评论我做了一个不起作用的链接,点击此处查看其余评论。现在我知道这是一个解决方案1)通过制作一个隐藏的div,然后在有人点击时切换它。但是,如果每个新闻的所有评论应加载,这将是太多..

所以我想用JSON/ajax发送一个调用getComments.php,然后回应所有评论,然后prepend在一个div 。

所以,这就是我现在所拥有的:在getComments

function getComments(id){ 
    $.ajax({ 
     url: "misc/getComments.php", 
     type: "POST", 
     data: { mode: 'ajax', id: id}, 
     dataType: 'json', 
     success: function(data, status){ 
        if(typeof(data.error) != 'undefined') { 
         if(data.error != '') 
          alert(data.error); 
        } else if(data.msg == 'OK') { 
alert('ok'); 
     } 

     } 
    }); 
} 

ID()是NewSID的,将在杂项/ getcomments.php用于SELECT查询。

正如你可以看到它应该响应“OK”,如果万物OK,有这样做:

echo '{'; 
    echo ' "msg": "OK" '; 
echo '}'; 

现在,我需要回响应的所有信息了。数据库中的评论,newsid和其他内容。我应该怎么做?我应该添加更多这些:

echo '{'; 
    echo ' "comment": "blabla" '; 
echo '}'; 

    echo '{'; 
     echo ' "id": "1" '; 
    echo '}'; 

? 然后,我怎么才能淡化在div中的评论?

+0

可以伊斯利创建JSON对象与'回波json_encode(阵列( “评论”=> “布拉布拉”))' – jcubic 2010-09-15 21:28:45

回答

0

很可能你可以在php一边做这样的事情。

$comment_items = array(); 
array_push($comment_items,"This is comment 1"); 
array_push($comment_items,"This is comment 2"); 
array_push($comment_items,"This is comment 2"); 
header('Cache-Control: no-cache, must-revalidate'); 
header('Content-type: application/json'); 
echo json_encode($comment_items); 
+0

可以做到这一点,或者使用function.json-encode.php为PHP – 2012-08-27 13:43:00