I have to build an ajax site without the use of JQuery (which is a pain), So I have been trying to build ajax requests in a similar fashion.
Currently I have this:
function $ajax(json) {
    var xmlhtml;
    if (window.XMLHttpRequest) {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhtml = new XMLHttpRequest();
    } else {
        // code for IE6, IE5
        xmlhtml = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhtml.onreadystatechange = function () {
        if (xmlhtml.readyState == 4) {
            if (xmlhtml.status == 200) {
                alert(xmlhtml.responseText);
            }
            else if (xmlhtml.status == 400) {
                alert('There was an error 400');
            }
            else {
                alert('something else other than 200 was returned');
            }
        }
    };
    xmlhtml.open(json.type, json.url, true);
    xmlhtml.send();
};
and I call it like so:
(function () {
    $ajax({
        type: "GET",
        url: "/api/stock"
    });
})();
which is fine, it returns my records. What I need to do is create callback functions for complete (status == 200) and error (status != 200). How can I do this?
Please note, I can not use jQuery.
 
    