AJAX
by LyndseyB
Babel + JSX
const ajax = (() => {
function onreadystatechange(callback) {
const request = this;
if(request.readyState === XMLHttpRequest.DONE) {
if(request.status === 200) {
return callback(request.responseText);
} else {
throw(`HttpRequest Error, status code: ${request.status}`);
}
}
}
const init = (type, url, callback, params = null) => {
const request = new XMLHttpRequest();
request.onreadystatechange = onreadystatechange.bind(request, callback);
request.open(type, url);
request.send(params);
};
return {
get(url, callback) {
return init('get', url, callback);
},
post(url, params, callback) {
return init('post', url, callback);
}
};
})();
ajax.get('https://randomuser.me/api/', (data) => {
data = JSON.parse(data);
console.log(data);
});