Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Should I use JSON or AJAX for response data?

Why JSON? I have done some tests today, and the request time for both JSON, or a normal AJAX request was the same. In the "normal request" I have returned the complete text+html tags, in the JSON request, logically I returned a "json return type" and I have created the HTML with client-side JavaScript.

I don't get it, why are the big sites (Google Reader etc), or even small sites using JSON? Or do I not understand when I should use JSON?

like image 222
Uffo Avatar asked Jun 17 '09 11:06

Uffo


2 Answers

You are perhaps a little confused.

JSON and AJAX are not an either-or choice.

JSON and XML is a choice.

JSON and AJAX are distinct and largely unrelated, although AJAX often uses JSON, it can just easily use XML, HTML or plain text.

Or are you referring to the X in AJAX (XML)? If so, the arguments for JSON are basically:

  • JSON has a smaller payload than equivalent XML; and
  • JSON is easier to deal with in Javascript (compare eval'ing a JSON object to walking an XML fragment).

Other than that, it's largely personal preference.

like image 88
cletus Avatar answered Oct 27 '22 16:10

cletus


JSON is just a data-interchange format. It describes in what way the data is represented during transmission. You can not replace Ajax with JSON.

Ajax stands for Asynchronous JavaScript and XML, but when using JSON you could say that you're using AJAJ (Asynchronous JavaScript and JSON).

Maybe you are thinking of the jQuery methods $.getJSON() and $.get()?

The difference is that $.getJSON() automatically assumes that it's JSON data, while $.get() will just fetch the data as plain text.

When using $.getJSON() you're also able to fetch data between domains.

like image 22
alexn Avatar answered Oct 27 '22 17:10

alexn