Book Image

JavaScript and JSON Essentials

By : Sai S Sriparasa
Book Image

JavaScript and JSON Essentials

By: Sai S Sriparasa

Overview of this book

The exchange of data over the Internet has been carried out since its inception. Delimiter-separated lists such as CSV and tag-separated languages such as XML are very popular, yet they are considered to be verbose by a section of developers. JSON (JavaScript Object Notation) is a lightweight text-based code to create objects to transfer data over the Internet. It is a data exchange format that is human-readable (like XML, but without the markup around your actual payload) and its syntax is a subset of the JavaScript language that was standardized in 1999. JavaScript and JSON Essentials is a step-by-step guide that will introduce you to JSON and help you understand how the lightweight JSON data format can be used in different ways either to store data locally or to transfer data over the Internet. This book will teach you how to use JSON effectively with JavaScript. This book begins with a brief refresher course on JavaScript before taking you through how JSON data can be transferred via synchronous, asynchronous, and cross-domain asynchronous HTTP calls. JSON is not just about data transfer; this book throws light on the alternate implementations of JSON as well. You will learn the data types that JavaScript uses and how those data types can be used in JSON. You will go through the concepts of how to create, update, parse, and delete a JSON object. You will also look at the different techniques of loading a JSON file onto a web page, how to use jQuery to traverse through an object, and how to perform access operations. You will also go over a few resources that will make debugging JSON quick and easy.
Table of Contents (15 chapters)

The problem with cross-domain AJAX calls


All the asynchronous calls that we have made until now have been on the same server. There are situations where we would want to load data from a different domain, such as fetching data from other APIs. Server-side programs are designed to handle these kinds of calls; we can use cURL to make HTTP calls to different domains to fetch such data. This increases our dependency on server-side programs as we would have to make a call to our server, which would in turn make a call to another domain to fetch the data, which would be returned to a client-side program. It might come across as being a trivial issue, but we are adding an extra layer to our web architecture. To avoid making a server-side call, let us try and see if we can make an asynchronous call to a different domain. For this example, let us use Reddit's JSON API to fetch the data.

This is similar to the asynchronous calls that we have made earlier to retrieve data from our students API. It is...