The keystone of AJAX is the XMLHttpRequest object.

All new browsers use the built-in JavaScript XMLHttpRequest object to create an XMLHttpRequest object (IE5 and IE6 uses an ActiveXObject).

Let's update our "testAjax.htm" file with a JavaScript that creates an XMLHttpRequest object:

<script type="text/javascript">
function ajaxFunction()
var xmlhttp;
if (window.XMLHttpRequest)
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
else if (window.ActiveXObject)
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
alert("Your browser does not support XMLHTTP!");

<form name="myForm">
Name: <input type="text" name="username" />
Time: <input type="text" name="time" />


Example explained

1. Create a variable named xmlhttp to hold the XMLHttpRequest object.

2. Try to create the XMLHttpRequest object with xmlhttp=new XMLHttpRequest().

3. If that fails, try xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"). This is for IE6 and IE5.

4. If that fails too, the user has a very outdated browser, and will get an alert stating that the browser doesn't support XMLHTTP.