46 lines
1.1 KiB
JavaScript
46 lines
1.1 KiB
JavaScript
let Promise = require('./zpromise');
|
|
|
|
const get = (url, header) => {
|
|
header = header || {};
|
|
return Ajax(url, 'GET', {}, header)
|
|
};
|
|
|
|
const post = (url, data, header) => {
|
|
header = header || {};
|
|
let formStr = '';
|
|
let i = 0;
|
|
for(let key in data) {
|
|
if (i ++ > 0) formStr += '&';
|
|
formStr += (key + '=' + data[key]);
|
|
}
|
|
header['Content-Type'] = 'application/x-www-form-urlencoded';
|
|
return Ajax(url, 'POST', formStr, header)
|
|
};
|
|
|
|
const Ajax = (url, method, data, header) => {
|
|
header = header || {};
|
|
return new Promise((resolve, reject) => {
|
|
var xhr = new XMLHttpRequest();
|
|
xhr.onreadystatechange = function () {
|
|
if (xhr.readyState === 4 ){
|
|
if(xhr.status >= 200 && xhr.status < 400) {
|
|
resolve(xhr.responseText);
|
|
}else{
|
|
reject(xhr.statusText);
|
|
}
|
|
}
|
|
};
|
|
xhr.open(method, url, true);
|
|
for(var key in header) {
|
|
xhr.setRequestHeader(key, header[key]);
|
|
}
|
|
xhr.send(data);
|
|
});
|
|
|
|
};
|
|
|
|
export default {
|
|
get,
|
|
post
|
|
}
|