28 lines
706 B
JavaScript
28 lines
706 B
JavaScript
|
|
let request = obj => {
|
|
return new Promise((resolve, reject) => {
|
|
let xhr = new XMLHttpRequest();
|
|
xhr.open(obj.method || "GET", obj.url);
|
|
if (obj.headers) {
|
|
Object.keys(obj.headers).forEach(key => {
|
|
xhr.setRequestHeader(key, obj.headers[key]);
|
|
});
|
|
}
|
|
if(obj.responseType) {
|
|
xhr.responseType = obj.responseType;
|
|
}
|
|
|
|
xhr.onload = () => {
|
|
if (xhr.status >= 200 && xhr.status < 300) {
|
|
resolve(xhr.response);
|
|
} else {
|
|
reject(xhr.statusText);
|
|
}
|
|
};
|
|
xhr.onerror = () => reject(xhr.statusText);
|
|
xhr.send(obj.body);
|
|
});
|
|
};
|
|
|
|
export default request;
|