Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ayoubjamouhi/eef32793168a13945995066061b4ba1b to your computer and use it in GitHub Desktop.
Save ayoubjamouhi/eef32793168a13945995066061b4ba1b to your computer and use it in GitHub Desktop.
Ajax functions
/* Start Ajax */
let getHttpRequest = function () {
let httpRequest = false;
httpRequest = new XMLHttpRequest();
if (!httpRequest) {
alert('Abandon :( Impossible de créer une instance XMLHTTP');
return false;
}
return httpRequest
}
let AjaxPOST = function (form, url) {
return new Promise(function (resolve, reject) {
let httpRequest = getHttpRequest()
httpRequest.onload = function () {
if (httpRequest.status === 200) {
// document.querySelector('#result').innerHTML = httpRequest.responseText
resolve(httpRequest.responseText)
} else {
reject(new Error());
}
}
httpRequest.onerror = function () {
if (httpRequest.status === 200)
reject(new Error('Error'))
}
httpRequest.open('POST', url, true)
let data = new FormData(form)
httpRequest.send(data)
})
}
let AjaxGET = function (url) {
var ajax
let httpRequest = getHttpRequest()
httpRequest.onload = function ()
{
if (httpRequest.status === 200)
{
// document.querySelector('#result').innerHTML = httpRequest.responseText
ajax = JSON.parse(httpRequest.responseText)
}
else
{
ajax = new Error();
}
}
httpRequest.onerror = function ()
{
if (httpRequest.status === 200)
ajax = new Error('Error')
}
httpRequest.open('GET', url, false)
httpRequest.send()
return ajax
}
let AjaxDELETE = function (url) {
return new Promise(function (resolve, reject) {
let httpRequest = getHttpRequest()
httpRequest.onload = function () {
if (httpRequest.status === 200) {
// document.querySelector('#result').innerHTML = httpRequest.responseText
resolve(httpRequest.responseText)
} else {
reject(new Error());
}
}
httpRequest.onerror = function () {
if (httpRequest.status === 200)
reject(new Error('Error'))
}
httpRequest.open('DELETE', url, true)
httpRequest.send()
})
}
/* End Ajax */
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment