const ajax = (params) => {
params.beforeSend ? params.beforeSend() : null;
const xhr = new XMLHttpRequest();
xhr.open(params.method, params.url, true);
xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
if (params.req) {
// if (typeof params.req !== 'object') {
// const data = {data: params.req};
// xhr.send(JSON.stringify(data));
// } else {
// xhr.send(JSON.stringify(params.req));
// }
xhr.send(params.req); // вот тут строка, обратить внимание
} else {
xhr.send();
}
let promise = new Promise((res) => {
xhr.onreadystatechange = function () {
if (this.readyState === 4) {
console.log(params.url, xhr.status);
console.log(xhr.responseText);
const response = JSON.parse(xhr.responseText).data;
switch (xhr.status) {
case 200:
params.success(response);
break;
case 400:
case 500:
params.error(response);
break;
default:
}
res(true)
}
};
});
promise.then((result) => {
params.complete && result ? params.complete() : null;
})
};