Science Library - free educational site

JSON and AJAX

AJAX

Asynchronous JavaScript and XML: AJAX is a JavaScript technique for making HTTP requests without reloading a page.

AJAX is not a programme, like PHP or Javascript, but a formalised scripting procedure for enabling information on a webpage to be updated without the need to reload the page. This allows for faster and smoother operations, and less user inconvenience.

One data format that makes AJAX more effective is JSON.

JSON

JSON, or JavaScript Object Notation, is an open format for transferring data. It derives from the JavaScript language and is a popular alternative to XML because it's lightweight and easily human-readable.

Here's what it might look like:

  • {
  • "name": "John",
  • "surname": "Smith",
  • "age": 42,
  • "address": "Dent Street, Gallifrey",
  • "postal code": "6900",
  • "tags": ["time", "traveller"]
  • }

As you can see, JSON is based on a series of name-value pairs, and if you know JavaScript, you will no doubt see how similar the notation is.

Using JSON with AJAX

One common application for JSON on the internet is as a data format for AJAX (ironically, Asynchronous Javascript And Xml).

Suppose we already have a function AJAX that uses the XMLHttp object to make an AJAX request to the specified page sending any data and then calling a callback function, passing it the server's response.

If the response text is encoded in JSON, we can simply make it into an object using the eval function:

AJAX({"url": 'example.php', "data": 'params=value', function(r) {
var responseObj = eval(r.text);
}});

The eval function evaluates the string as code, and, because JSON is valid JavaScript syntax, will return an object with the data from the server.

Because it is so popular, many other programming languages have native functions to encode and decode JSON. PHP, for instance, has the json_encode and json_decode functions, which will return a string with the JSON equivalent of a passed object, and vice versa.

! Beware !

Be careful when applying the eval function to a string of unknown or untrusted origin. Hackers may try to inject malicious code into your page, and this is a massive security breach. I personally never use this function unless I wrote the script myself.

Sean Bone

ZumGuy Network webmaster

Visit my Internet forum: ZumGuy Internet Forum

Per una versione di quest'articolo in Italiano vedi: JSON

Translation by Transalpine Technical Translations.

Content © Andrew Bone. All rights reserved. Created : February 2, 2014 Last updated :February 14, 2016

Latest Item on Science Library:

The most recent article is:

Air Resistance and Terminal Velocity

View this item in the topic:

Mechanics

and many more articles in the subject:

Subject of the Week

Resources

Science resources on ScienceLibrary.info. Games, puzzles, enigmas, internet resources, science fiction and fact, the weird and the wonderful things about the natural world. Have fun while learning Science with ScienceLibrary.info.

Science

Great Scientists

Lise Meitner

1878 - 1968

Lise Meitner was an Austrian physicist who worked with Otto Hahn for 30 years, and helped discover an explanation for the nuclear decay of uranium in 1938, which started the modern nuclear industry.

Lise Meitner, 1878 - 1968, Austrian physicist
SaraOrdine

Quote of the day...

In theory there is no difference between theory and practice, but in practice there is.

ZumGuy Internet Promotions

IT information forum by Sean Bone