Files
FarmToAAS/html/assets/js/script.js
2026-01-21 17:19:19 +07:00

77 lines
2.2 KiB
JavaScript

/**
* Checks if a string is valid (not null and not empty)
* @param {string} str
* @returns true if valid, false otherwise
*/
function ValidString(str) {
if (str) {
if (str.length > 0) {
return true;
}
}
return false;
}
/**
* Performs a POST request to the specified URL with the given data.
* @param {string} url Service endpoint URL
* @param {object} data Data to be sent in the request body
* @param {function} onSuccess callback for successful response
* @param {function} onError callback for error response
*/
function Post(url, data, onSuccess, onError) {
fetch(url, {
method: "POST",
body: JSON.stringify(data)
}).then(response => {
if (response.ok) {
return response.json();
} else {
let str = `POST request to ${url} failed. Status: ${response.statusText}`;
throw new Error(str);
}
}).then(data => {
if (onSuccess) {
onSuccess(data);
}
}).catch(error => {
if (ValidString(error.message)) {
if (onError) {
onError(error.message);
} else {
console.error(error.message);
}
} else console.log("An unknown error occurred during POST request.");
});
}
/**
* Performs a GET request to the specified URL.
* @param {string} url Service endpoint URL
* @param {function} onSuccess callback for successful response
* @param {function} onError callback for error response
*/
function Get(url, onSuccess, onError) {
fetch(url).then(response => {
if (response.ok) {
return response.json();
} else {
let str = `GET request to ${url} failed. Status: ${response.statusText}`;
throw new Error(str);
}
}).then(data => {
if (onSuccess) {
onSuccess(data);
}
}).catch(error => {
if (ValidString(error.message)) {
if (onError) {
onError(error.message);
} else {
console.error(error.message);
}
}
else console.log("An unknown error occurred during GET request.");
});
}