AJAX, for Asynchronous JavaScript and XML, is a set of technologies used to talk to web servers asynchronously using JavaScript.



Course Duration

1 hr 54 mins








  • HTML

    While developing AJAX applications, it's typical to design HTML markup for various things.

  • CSS

    Although CSS isn't an immediate requirement for AJAX apps, it's used when designing interface features. Thereby, a profound knowledge of CSS will be really helpful in the longer run.

  • JavaScript

    The heart of AJAX is the XMLHttpRequest object. Moreover, it's also customary to mutate the DOM via DOM methods, all of which are JavaScript APIs.

Course overview

AJAX is an acronym for Asynchronous JavaScript And XML, and a convenient name given to the set of technologies that make it possible to develop asynchronous client-slide applications.

AJAX allows HTTP requests to be made from within JavaScript and therefore update the contents of a page with the new requested page, all asynchronously. This means that page refreshes can be made without the need to reload the page. AJAX enables what we call refresh without a reload. AJAX is a client-side masterpiece and developing applications in it is a concern of many emerging websites.

It is important to realise the fact that AJAX isn't a programming language, neither a framework, nor a library. It is just an elegant name, given to the set of technologies that allow asynchronous communication with the server and help in working with the response received.

These technologies include, but aren't limited to, HTML for constructing a structure of the document, CSS to style it on the go, JavaScript to write a whole AJAX engine and interact with other APIs, HTML DOM to make dynamic changes to the document, and XML or JSON for exchanging data between the client and the server.

Learning outcomes

This course is aimed at making you perfect in the understanding of AJAX and developing dynamic application using it. In this course you'll learn tons of details on how AJAX works behind the scenes, how to comprehend HTTP requests and responses, how to incorporate events into our code and much more.

Being specific, at the end of this course you will know:

  1. The history behind the birth of AJAX and the XMLHttpRequest() object.
  2. The ideas to composing a basic AJAX request.
  3. What are request states and HTTP statuses, and the role both these play in AJAX applications.
  4. How to work with various xhr events, such as onreadystatechange, onload, onerror, onabort and so on.
  5. How to handle different types of responses like XML, JSON, text files, and HTML; and how to work with headers of the response.
  6. Different HTTP methods to dispatch out requests, especially GET and POST.
  7. and even more....

Table of contents

  1. Foundation

    In this unit we'll go over all the neccessary details of AJAX and its core object - the XMLHttpRequest() object. We'll begin with some basics, then move over to request states and statuses, and finally converge on much detailed topics like working with HTML responses and sending out GET and POST requests.


  • What if I get stuck somewhere in the course?

    If you're having a hard time understanding a given concept in the course, feel free to reach out to me at bilal@codeguage.com, describing the issue you're facing. I'll try my level best to help you out.

  • Some important topics are missing from the course. Why is that so?

    The courses on Codeguage are released while they are still under construction so that learners can get early previews. As I continuously work on adding more and more content to the courses, if a given topic isn't covered today, there's a high chance that it's already under way and will show up very soon. You can follow Codeguage on Twitter to be updated with all the latest content releases.

  • How can I ask any general questions related to the course's content?

    Write to me at bilal@codeguage.com.

It's different the 'Codeguage way'


When you have a robust foundation, with the fundamentals crystal-clear, your mind will intrinsically get that ability to handle any kind and level of complexity.


With a comprehensive resource that covers literally every aspect of a given topic, your time is spent practicing the learnt concepts, not resolving confusions and basic questions.


Coding is a detailed craft. Likewise, any resource trying to teach it in any way should be detailed as well, or else people will have to acquire those integral details from different places in a fragmented and haphazard manner.


Structure is vital to an intuitive learning experience of a given resource. Without structure, the right concepts get introduced at the wrong times, ultimately leading to confusion and breaking the desired flow of comprehension.

Let's start the learning!