95 lines
2.0 KiB
JavaScript
95 lines
2.0 KiB
JavaScript
class AjAX {
|
|
|
|
constructor() {
|
|
this.xhr = new XMLHttpRequest();
|
|
}
|
|
|
|
|
|
/**
|
|
*
|
|
* @param {*} params
|
|
* url: 字符串 请求地址,
|
|
* data: 对象
|
|
*/
|
|
get(params) {
|
|
return new Promise((success, error) => {
|
|
$.ajax({
|
|
type: "GET",
|
|
url: `${config.checkStage()}${params.url}`,
|
|
data: params.data,
|
|
success: (msg) => this.readystatechange(success, error, msg)
|
|
});
|
|
})
|
|
}
|
|
|
|
|
|
|
|
post(params) {
|
|
return new Promise((success, error) => {
|
|
$.ajax({
|
|
type: "POST",
|
|
url: `${config.checkStage()}${params.url}`,
|
|
data: params.data,
|
|
success: (msg) => this.readystatechange(success, error, msg)
|
|
});
|
|
})
|
|
}
|
|
|
|
|
|
readystatechange(success, error, res) {
|
|
// 业务逻辑状态码的判断
|
|
switch (res.status) {
|
|
case 200:
|
|
success(res.result || res.data)
|
|
break;
|
|
case 404:
|
|
alert(res.message)
|
|
throw new Error(res.message)
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
// a.get({
|
|
// url: '/index/class',
|
|
// data: {
|
|
// type: 1,
|
|
// page: 1
|
|
// },
|
|
// success: (res) => {
|
|
// console.log("拿到的数据为:", res);
|
|
// },
|
|
// error: (err) => {
|
|
// console.log("请求出错了:", err);
|
|
// }
|
|
// });
|
|
|
|
// function test() {
|
|
// return new Promise(function (success, error) {
|
|
// var a = 1
|
|
// setTimeout(() => {
|
|
// a += 1;
|
|
// success(a)
|
|
// }, 3000)
|
|
// })
|
|
// }
|
|
|
|
// var dd = async () => {
|
|
// // test()
|
|
// // .then((res) => {
|
|
// // console.log(res);
|
|
// // })
|
|
// // .catch()
|
|
// var num = await test();
|
|
// console.log(num);
|
|
// }
|
|
|
|
// dd()
|
|
|
|
// 回调地狱
|
|
// 异步返回值 回调 promise
|
|
// 系统级别判断
|
|
// await indexService.class({ type: 1, page: 1 })
|