This is actually a follow up question to this "Why need to use JSON in php and AJAX".
[S.1]
So is displaying data in HTML with AJAX directly from PHP and database slower?
Ex: just imagine this with AJAX but w/o JSON
PHP $query ...etc
echo "<p>".$row['name']." ".$row['comment']."</p>";
[S.2]
than passing first the the data from db with PHP in JSON
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;
before displaying it in HTML
..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);
}
});
Which is the faster way? or is there any speed difference at all?
Tia, hope this is a worthy question, i’m still new to JSON.
What you’re referring to is loosely termed AJAX, not JSON (though you’re using JSON to encode the data rather than XML). JSON is the format the data is encoded in; AJAX is the process of requesting it via JavaScript, and updating the page dynamically.
It’s not about speed, at least not for the initial page request. The benefit is that you can selectively reload parts of your page, rather than re-requesting the entire document. The purpose is to provide a smoother, more responsive client-side experience.
The biggest speed benefits are gained when you want to push/pull small amounts of data to the server, for example when the state of a checkbox changes. This can be done with AJAX in only a few bytes, where traditionally you’d perform a post/redirect/get form submission, fetching the entire page again.