General Assembly Logo

JavaScript XML HTTP Requests

JavaScript XML HTTP Requests (xhr) are provided by browsers for performing asynchoronous network operations (a.k.a. AJAX in jQuery). In jQuery, $.ajax returns something called a "deferred object" that behaves a lot like a promise. In this training, we create our Promise interface for xhr using native promises and native xhr.

Prerequisites

Objectives

By the end of this, developers should be able to:

  • Compare Promises with jQuery Deferred objects.

Preparation

  1. Fork and clone this repository.
  2. Install dependencies with npm install.

Annotate Along: XML HTTP Requests

We'll use the library-api we used when first learning about $.ajax to handle requests.

Let's examine and run the code in assets/scripts/xhr.js.

Then let's do the same with assets/scripts/xhr-promises.js.

Lab: Compare XHR with AJAX

List the differences and similarities between XMLHttpRequest and jQuery.ajax.

Could you build a simplified version of $.ajax based on the code in assets/scripts/xhr-promises.js.

Additional Resources

  1. All content is licensed under a CC­BY­NC­SA 4.0 license.
  2. All software code is licensed under GNU GPLv3. For commercial use or alternative licensing, please contact legal@ga.co.