2011-02-03 5 views
0

이것은 실제로이 "Why need to use JSON in php and AJAX"에 대한 후속 질문입니다.과 [Db to PHP to JSON to AJAX to HTML] 속도 차이

[S.1]

그래서 PHP와 느린 데이터베이스에서 직접 AJAX와 HTML 데이터를 표시?

Ex: just imagine this with AJAX but w/o JSON 
PHP $query ...etc 
echo "<p>".$row['name']." ".$row['comment']."</p>"; 

[S.2]

HTML에 표시하기 전에

Ex: this with JSON and 
for ($x = 0, $numrows = mysql_num_rows($query); $x < $numrows; $x++) { 
    $row = mysql_fetch_assoc($query); 
    $comments[$x] = array("name" => $row["name"], "comment" => $row["comment"]); 
} 
$response = $_GET["jsoncallback"] . "(" . json_encode($comments) . ")"; 
echo $response; 

JSON

에 PHP와 DB로부터 먼저 데이터를 전달하는보다

..and AJAX 
// Js 
$.getJSON("comments.php?jsoncallback=?", function(data) { 

    //loop through all items in the JSON array 
    for (var x = 0; x < data.length; x++) { 

    //create a container for each comment 
    var div = $("<div>").addClass("row").appendTo("#comments"); 

    //add author name and comment to container 
    $("<label>").text(data[x].name).appendTo(div); 
    $("<div>").addClass("comment").text(data[x].comment).appendTo(div); 
    } 
}); 

어느 더 빠른 방법인가요? 아니면 속도 차이가 있습니까?

티아 (Tia), 이것이 가치있는 질문이 되길 바랍니다. 아직 JSON을 처음 사용합니다.

+0

실제로 유일한 차이점은 JSON의 클라이언트 측 (또는 HTML 작성)에서 실제 렌더링이 발생한다는 것입니다. 의심 할 여지가 있지만 훨씬 빠릅니다. – Robus

답변

1

당신이 말하는 것은 JSON이 아니라 AJAX라고 부르는 것입니다 (XML이 아닌 데이터를 인코딩하는 데 JSON을 사용하고 있지만). JSON은 데이터가 인코딩되는 형식입니다. AJAX는 JavaScript를 통해 요청하고 페이지를 동적으로 업데이트하는 프로세스입니다.

적어도 초기 페이지 요청에는 속도가 아닙니다. 이점은 전체 문서를 다시 요청하는 대신 페이지의 부분을 페이지의 개를 선택적으로 다시로드 할 수 있다는 것입니다. 그 목적은 더 부드럽고 반응이 빠른 클라이언트 측 경험을 제공하는 것입니다.

예를 들어 확인란의 상태가 변경되는 경우와 같이 서버에 작은 양의 데이터를 밀어 넣거나 당길 때 최대의 이점이 있습니다. 이것은 AJAX로 몇 바이트만으로 가능합니다. 전통적으로 전체 페이지를 다시 가져 와서 게시/리디렉션/양식 제출을 수행 할 수 있습니다.

+0

죄송합니다. 지금 막 잘못된 질문을 던졌음을 깨달았습니다. [Db에서 PHP로 JSON-AJAX에서 HTML로]와 [Db에서 PHP로 AJAX를 HTML로] <- (JSON이 하나) ,하지만 당신이 말했듯이 속도에 대해서는 아니지만 페이지의 일부분을로드하는 것에 대해 말한다면, 대신 jQuery의 .load를 사용해야합니다. 맞습니까? 아니면 아직 아이디어를 얻지 못하고 있습니까? 감사합니다. – Barry

+1

'.load','.get','.ajax'를 사용할 수 있습니다. 기본적으로 전송할 데이터 유형에 대해 서로 다른 기본값을 사용하여 동일한 작업을 수행합니다. JSON은 마크 업없이 순수한 데이터를 인코딩하는 편리한 수단입니다. – meagar