Skip to content

Instantly share code, notes, and snippets.

@wpconsulate
Last active August 29, 2020 15:48
Show Gist options
  • Save wpconsulate/d2eb2486108cfbfedfe7faeda8edc7d0 to your computer and use it in GitHub Desktop.
Save wpconsulate/d2eb2486108cfbfedfe7faeda8edc7d0 to your computer and use it in GitHub Desktop.
// Example POST method implementation:
async function postData(url = '', data = {}) {
// Default options are marked with *
const response = await fetch(url, {
method: 'POST', // *GET, POST, PUT, DELETE, etc.
mode: 'cors', // no-cors, *cors, same-origin
cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached
credentials: 'same-origin', // include, *same-origin, omit
headers: {
'Content-Type': 'application/json'
// 'Content-Type': 'application/x-www-form-urlencoded',
},
redirect: 'follow', // manual, *follow, error
referrerPolicy: 'no-referrer', // no-referrer, *no-referrer-when-downgrade, origin, origin-when-cross-origin, same-origin, strict-origin, strict-origin-when-cross-origin, unsafe-url
body: JSON.stringify(data) // body data type must match "Content-Type" header
});
return response.json(); // parses JSON response into native JavaScript objects
}
postData('https://example.com/answer', { answer: 42 })
.then(data => {
console.log(data); // JSON data parsed by `data.json()` call
});
function ajaxCall( url, method, success, failure, always ) {
var successCodes = [200, 201, 202, 204];
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && successCodes.includes( this.status) && success !== undefined ) {
success(this.responseText);
}
else if( failure !== undefined ){
failure(this)
}
// run this function always
if( always !== undefined ){
always(this)
}
};
xhttp.open("POST", url, true);
xhttp.send();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment