MIF_E31210063/MaidMatching/public/assets/js/dashboard-main.js

64 lines
1.9 KiB
JavaScript

function callApi(t, n, a, e, f = function(){}) {
let formData = new FormData();
// Memproses data sebelum mengirimnya
for (let key in a) {
if (a.hasOwnProperty(key)) {
if (Array.isArray(a[key])) {
// Jika nilai adalah array
for (let i = 0; i < a[key].length; i++) {
formData.append(key+"["+[i]+"]", a[key][i]);
}
} else {
// Jika nilai bukan array
formData.append(key, a[key]);
}
}
}
let setAuthorization = {};
try {
setAuthorization = { Authorization: getAuthorization() };
} catch (error) {
}
let setContentType = false;
if (t == 'PUT' || t == 'PATCH') {
formData = new URLSearchParams();
for (let key in a) {
if (a.hasOwnProperty(key)) {
if (Array.isArray(a[key])) {
// Jika nilai adalah array
for (let i = 0; i < a[key].length; i++) {
formData.append(key+"["+[i]+"]", a[key][i]);
}
} else {
// Jika nilai bukan array
formData.append(key, a[key]);
}
}
}
formData = formData.toString();
setContentType = 'application/x-www-form-urlencoded';
}
// console.log(formData);
$.ajax({ url: n, type: t, headers: setAuthorization, data: formData, processData: false, contentType: setContentType }).done(function (n) {
e(n);
}).fail(function (a, b, c) { f(a, b, c) });
}
function getBase64(file, name) {
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function () {
sessionStorage.setItem(name, reader.result)
};
reader.onerror = function (error) {
console.log('Error: ', error);
};
}