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.