fetch实现ajax

ajax: {
obj2String (opts) {
const arr = [];
for (const attr in opts) {
arr.push(attr + '=' + opts[attr]);
}
return arr.join('&');
},
post (url, opts) {
return new Promise((res, rej) => {
fetch(url, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(opts),
})
.then(r => {
return r.text();
})
.then(j => {
res(JSON.parse(j));
})
.catch((error) => {
rej(error);
});
});
},
get (url, opts) {
return new Promise((res, rej) => {
fetch(url + '?' + this.obj2String(opts), { method: 'GET' })
.then((r) => {
return r.text();
})
.then((j) => {
res(JSON.parse(j));
})
.catch((error) => {
rej(error);
});
});
},
},

你可能感兴趣的:(fetch实现ajax)