50 lines
1.2 KiB
JavaScript
50 lines
1.2 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 || {};
|
|
let token = cc.sys.localStorage.getItem('activity_token');
|
|
if (token) {
|
|
header['token'] = token;
|
|
}
|
|
return new Promise((resolve, reject) => {
|
|
var xhr = new XMLHttpRequest();
|
|
xhr.onreadystatechange = function () {
|
|
if (xhr.readyState === 4 ){
|
|
if(xhr.status >= 200 && xhr.status < 400) {
|
|
resolve(JSON.parse(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
|
|
}
|