Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save costrouc/9b8077b0258a2ff4448eb1da3b142558 to your computer and use it in GitHub Desktop.
Save costrouc/9b8077b0258a2ff4448eb1da3b142558 to your computer and use it in GitHub Desktop.
var request = function(obj, success, failure) {
success = success || function(){};
failure = failure || function(){};
obj.method = obj.method || 'GET';
obj.headers = obj.headers || {};
obj.params = obj.params || {};
var req = new XMLHttpRequest();
var params = "";
Object.keys(obj.params).forEach(function(param, i) {
params = params + (i === 0 ? "?" : "&") + param + "=" + obj.params[param];
});
req.open(obj.method, obj.url + params);
Object.keys(obj.headers).forEach(function(header) {
req.setRequestHeader(header, obj.headers[header]);
});
req.onload = function() {
if (req.status == 200) {
success(req.responseText);
} else {
failure(Error(req.responseText));
}
};
req.onerror = function() {
failure(Error("Network Error"));
};
req.send(obj.data);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment