AJAX XMLHttpRequest
The XMLHttpRequest object makes AJAX possible.
The XMLHttpRequest
The XMLHttpRequest object is the key to AJAX.
It has been available ever since Internet Explorer 5.5 was released in July
2000, but not fully discovered before people started to talk about AJAX and Web
2.0 in 2005.
Creating An XMLHttpRequest Object
Different browsers use different methods to create an XMLHttpRequest
object.
Internet Explorer uses an ActiveXObject.
Other browsers uses a built in JavaScript object called XMLHttpRequest.
Here is the simplest code you can use to overcome this problem:
var XMLHttp=null;
if (window.XMLHttpRequest)
{
XMLHttp=new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
XMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
|
Example above explained:
- First create a variable XMLHttp to use as your XMLHttpRequest object.
Set the value to null.
- Then test if the object window.XMLHttpRequest is available. This
object is available in newer versions of Firefox, Mozilla, Opera, and Safari.
- If it's available, use it to create a new object: XMLHttp=new
XMLHttpRequest()
- If it's not available, test if an object window.ActiveXObject is
available. This object is available in Internet Explorer version 5.5 and later.
- If it is available, use it to create a new object: XMLHttp=new
ActiveXObject()
A Better Example?
Some programmers will prefer to use the newest and fastest version of the
XMLHttpRequest object.
The example below tries to load Microsoft's latest version "Msxml2.XMLHTTP",
available in Internet Explorer 6, before it falls back to "Microsoft.XMLHTTP",
available in Internet Explorer 5.5 and later.
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
|
Example above explained:
- First create a variable XMLHttp to use as your XMLHttpRequest object.
Set the value to null.
- Try to create the object according to web standards (Mozilla, Opera
and Safari):XMLHttp=new XMLHttpRequest()
- Try to create the object the Microsoft way, available in Internet
Explorer 6 and later:XMLHttp=new ActiveXObject("Msxml2.XMLHTTP")
- If this catches an error, try the older (Internet Explorer 5.5) way: XMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
More about the XMLHttpRequest object
If you want to read more about the XMLHttpRequest, visit our
AJAX tutorial.
The Altova MissionKit is a suite of intelligent XML tools, including:
XMLSpy® – industry-leading XML editor
- Support for all XML-based technologies
- Graphical editing views, powerful debuggers, code generation, & more
MapForce® – graphical data mapping tool
- Drag-and-drop data conversion with code generation
- Support for XML, DBs, EDI, Excel® 2007, text, Web services
StyleVision® – visual stylesheet designer
- Drag-and-drop stylesheet design for XML & databases
- Output to HTML, PDF, RTF, Word 2007, & more
And more…
Try before you buy with a free fully functional 30-day trial
Download today
|
|
Get Your Diploma!
W3Schools' Online Certification Program is the perfect solution for busy
professionals who need to balance work, family, and career building.
The HTML Certificate is for developers who want to document their knowledge of HTML, XHTML, and CSS.
The JavaScript Certificate is for developers who want to document their knowledge of JavaScript and the HTML DOM.
The XML Certificate is for developers who want to document their knowledge of XML, XML DOM and XSLT.
The ASP Certificate is for developers who want to document their knowledge of ASP, SQL, and ADO.
The PHP Certificate is for developers who want to document their knowledge of PHP and SQL (MySQL).
|
|