site-libsoc/Server/public/js/libraries/serverTools.js

65 lines
2.0 KiB
JavaScript

// Get data from server
export function getData(path,callback) {
var xhr = new XMLHttpRequest();
xhr.overrideMimeType("application/json");
xhr.open('GET', path, true);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == "200") {
if (callback !== undefined) {
callback(xhr.responseText);
}
}
};
xhr.send(null);
}
// Parse JSON from given path into a given variable under a given key
export function getJSON(variable,key,path) {
getData(path,function(response) {
// Parse JSON string into object
variable[key] = JSON.parse(response);
});
}
export function sendData(route,data,callback) {
var xhr = new XMLHttpRequest();
xhr.open("POST", route, true)
xhr.setRequestHeader('Content-Type', 'application/json')
xhr.onreadystatechange = function() {
if(xhr.readyState === XMLHttpRequest.DONE) {
var status = xhr.status;
if (status === 0 || (status >= 200 && status < 400)) {
// The request has been completed successfully
if (callback !== undefined) {
callback(xhr.responseText)
}
} else {
// Oh no! There has been an error with the request!
}
}
};
xhr.send(JSON.stringify(data))
}
export function sendText(route,data,callback) {
var xhr = new XMLHttpRequest();
xhr.open("POST", route, true)
xhr.setRequestHeader('Content-Type', 'text/plain')
xhr.onreadystatechange = function() {
if(xhr.readyState === XMLHttpRequest.DONE) {
var status = xhr.status;
if (status === 0 || (status >= 200 && status < 400)) {
// The request has been completed successfully
if (callback !== undefined) {
callback(xhr.responseText)
}
} else {
// Oh no! There has been an error with the request!
}
}
};
xhr.send(data)
}