2010-09-15 38 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