Skip to content

Instantly share code, notes, and snippets.

@sleepless-se
Created December 15, 2019 16:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sleepless-se/7902326c272630aba2e10d9f10db2041 to your computer and use it in GitHub Desktop.
Save sleepless-se/7902326c272630aba2e10d9f10db2041 to your computer and use it in GitHub Desktop.
POST request by XMLHttpRequest
function getCookie(key) {
var cookies = document.cookie.split(';');
for (var _i = 0, cookies_1 = cookies; _i < cookies_1.length; _i++) {
var cookie = cookies_1[_i];
// console.log(`cookie ${cookie}`);
var cookiesArray = cookie.split('=');
if (cookiesArray[0].trim() == key.trim()) {
// console.log(`cookiesArray ${cookiesArray}`);
let value = cookiesArray[1]; // (key[0],value[1])
return value;
}
}
return '';
}
function postRequest(url, json) {
var res = null;
var tryout = new XMLHttpRequest();
tryout.open("GET", API_URL, false);
tryout.withCredentials = true;
tryout.setRequestHeader("x-csrf-token", "fetch");
tryout.setRequestHeader("Accept", "application/json");
tryout.setRequestHeader("Content-Type", "application/json; charset=utf-8");
tryout.send(null);
var csrftoken = getCookie('csrftoken');
if (tryout.readyState === 4) {
var csrfToken = tryout.getResponseHeader('x-csrf-token');
tryout.open('POST', url, false);
tryout.setRequestHeader("X-CSRFToken", csrftoken);
tryout.setRequestHeader("Content-Type", "application/json; charset=utf-8");
tryout.setRequestHeader("Accept", "application/json");
tryout.send(json);
if (tryout.readyState === 4) {
res = JSON.parse(this.responseText);
console.log('res:' + res);
}
}
}
var url = 'http://0.0.0.0:8000/';
var data = {'text': 'value'};
var json = JSON.stringify(data);
postRequest(url, json);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment