64 lines
1.9 KiB
JavaScript
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);
|
|
};
|
|
}
|