Skip to content

Instantly share code, notes, and snippets.

@Muskos
Last active November 27, 2018 12:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save Muskos/4eced53fd95d706f13dc707029ad63c8 to your computer and use it in GitHub Desktop.
Save Muskos/4eced53fd95d706f13dc707029ad63c8 to your computer and use it in GitHub Desktop.
Wrapper under XMLHttpRequest for simple request with Promise
export default (url, method = 'POST', params) => {
return new Promise((resolve, reject) => {
const request = new XMLHttpRequest();
request.open(method, url, true);
request.setRequestHeader("X-Requested-With", "XMLHttpRequest");
request.onload = () => {
if (request.status >= 200 && request.status < 400) {
try{
resolve(JSON.parse(request.responseText));
} catch (e) {
reject(e)
}
} else {
reject('We reached our target server, but it returned an error');
console.error('We reached our target server, but it returned an error');
}
};
request.onerror = (e) => {
reject('There was a connection error of some sort', e);
console.error('There was a connection error of some sort', e)
};
request.send(params);
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment