XMLHTTP linkdump

Since XMLHTTP is becoming more and more important I thought I'd create a linkdump, both for my own future reference and for other developers. Additions and comments will be gratefully accepted.

  1. Since XMLHTTP is a Microsoft invention, let's start at the source: the MSDN IXMLHTTPRequest detail page. As far as I know all browsers support the methods and properties mentioned here. (And what does the I mean? I have no idea.)
    Link subject to sudden death, as are all MSDN links.
  2. To restore the equilibrium, let's take a look at the nsIXMLHttpRequest Interface Reference, which, one assumes, gives current and correct information about Mozilla's take on XMLHTTP. Nonetheless I found to my chagrin that some Mozilla documents portray an ideal situation instead of the actual current state of affairs. Use with some care.
  3. A second Mozilla-centric list of methods and properties, slightly more documented than the previous one, can be found at XULPLanet's XMLHTTPRequest pages.
  4. The most complete, though somewhat technical, description of XMLHTTP can be found at AppleDev's Dynamic HTML and XML: The XMLHttpRequest Object article written by Danny Goodman. One assumes all described methods and properties are tested in Safari.
  5. The best gentle introduction for the less technically inclined is Drew McLellan's Very Dynamic Web Interfaces article on XML.com.
  6. Jim Ley, finally, keeps a good balance between technicalities and gentle introductions in his Using the XML HTTP Request object.

If you know of other important articles and resources, please add a comment.

This is the blog of Peter-Paul Koch, web developer, consultant, and trainer. You can also follow him on Twitter or Mastodon.
Atom RSS

If you like this blog, why not donate a little bit of money to help me pay my bills?



Comments are closed.

1 Posted by Mihai Parparita on 12 February 2005 | Permalink

The I in IXMLHTTPRequest is for "interface." Generally speaking, interfaces are used to define a standard for the external facing part of a piece of code (e.g. that it has an "onreadystatechange" handler). The implementation of this interface is hidden from the user, and should be of no concern (and in theory there can be multiple implementations.)

2 Posted by Espen Antonsen on 12 February 2005 | Permalink

I have made some posts about XMLHTTP, including scripts:

MSXML Sniffer: http://sleepyhead81.blogspot.com/2004/10/microsoft-xml-parser-sniffer-update.html

Function for sending & retrieving http requests: http://sleepyhead81.blogspot.com/2004/11/function-for-sending-retrieving-http.html

A case study of web-application which uses XMLHTTPRequest: http://sleepyhead81.blogspot.com/2005/01/web-applications-in-2005-case-study.html

3 Posted by Bobby van der Sluis on 13 February 2005 | Permalink


4 Posted by Alex Russell on 16 February 2005 | Permalink

You know, I hate to be a crumudgeon, but can we please talk about something more interesting than XMLHTTP? The people who have been paying attention to browser development have all quietly integrated XMLHTTP support into their libraries about the same time that the old Mozilla "XML Extras" package was rolled into the mainline builds (just past M18, I think). That was YEARS ago.

If we ARE going to talk about XMLHTTP, can we at least talk about something interesting? like memoization, browser cache interactions, and the really uneaven support for getting/setting HTTP headers across implementations?

5 Posted by ppk on 16 February 2005 | Permalink

OK Alex, then talk about memoization, browser cache interactions, and the really uneaven support for getting/setting HTTP headers across implementations.

I'm curious, I have no idea what they are, so a simple introduction would be the perfect place to start.

Please submit a URL to your introduction page.

6 Posted by Doeke Zanstra on 20 February 2005 | Permalink

Memoization is quite interesting (I didn't know it before), but then there's google: http://www.answers.com/memoization&r=67

But does it solve a problem of web-developers? That's the question. And if the answer is to save oneself from boredom, then maybe one should look for real (customer) problems, or maybe shift carreers.

I just wondered: could gmail be made without the use of the XMLHttpRequest object? I've never seen a thourough analysis of the difference between the Http-object method, and the use of iframes...

7 Posted by Renzo Kooi on 21 February 2005 | Permalink

xmlHTTP is nice, but in our network it didn't work on nt4 workstations. So I wrote a javascript-only remote scripting object to do the job. Cooked up an example here: http://www.nicon.nl/rsjsdef/nwxhttp.html
if you're interested. Use the code if you need it.

8 Posted by Follower on 24 February 2005 | Permalink

I've created a very rough XmlHttpRequestEx implementation which extends the basic XmlHttpRequest object to allow non-same domain retrieval.

I've used it (via a bookmarklet) to allow the Google Maps site to use custom XSL style-sheets, by replacing the existing implementation on-the-fly:


Not sure if it's useful in other contexts...


9 Posted by Michael Clark on 25 February 2005 | Permalink

Here is test page for XMLHttpRequest (and MS XMLHTTP variants) that dynamically records user agents. There is growing list of currently supported browsers. It is actually a test of a JSON-RPC client although it tests XMLHttpRequest in the process. It requires JavaScript 1.5, JScript 5 or ECMAScript 3rd edition compliant script engine to run.


Could be a starting point for more specific XMLHttpRequest object tests (such as cross-browser feature support eg. the missing setRequestHeader method in Opera).

10 Posted by shane smith on 15 March 2005 | Permalink

Perhaps of interest, Mozilla's documentation

And tests/(crossbrowser)examples: