No description, website, or topics provided.
Switch branches/tags
Clone or download
MicFin Revert "Merge pull request #17 from ga-wdi-boston/019/solution"
This reverts commit 845099d, reversing
changes made to 20b1049.
Latest commit 22372c8 Jul 31, 2017

General Assembly Logo

JavaScript XML HTTP Requests

JavaScript XML HTTP Requests (xhr), created using the XMLHttpRequest constructor function, are part of the Web API provided by browsers. These objects perform asynchronous network operations (a.k.a. AJAX in jQuery). In jQuery, $.ajax returns something called a "deferred object" that implements the Promises/A+ specification.. In this talk, we'll create a Promise interface for xhr using native promises and native xhr.



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

  • Organize solutions to evented APIs using callbacks and promises.


  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