The Birth of Ajax
browser wars 1999 partlyBefore fetch, before Ajax had a name, loading data meant asking Windows for an ActiveX control and hoping.
In 2026: Partly, in the funniest way: the two ActiveX rungs throw on every browser on earth, then the ladder lands on XMLHttpRequest, which the whole world implemented by copying Microsoft's control. The pattern still runs because its fallback became the standard. ActiveXObject itself died with Internet Explorer.
Where it came from: Microsoft.XMLHTTP shipped with Internet Explorer 5 in 1999, built for Outlook Web Access. Mozilla cloned it as XMLHttpRequest in 2000 and Ajax got its name in 2005. MDN ↗
<script language="JavaScript">
// Loading data without a page refresh, 1999 style. This ladder of
// disappointment is the actual birth certificate of Ajax.
function makeRequest() {
try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
if (window.XMLHttpRequest) return new XMLHttpRequest();
return null;
}
var req = makeRequest();
document.write(req
? "<p>Got a request object: " + req + "</p>"
: "<p>No way to fetch anything. Enjoy the full page reload.</p>");
</script>