Files
ClassContent/历届学生/fontendsix/项目练习/上课项目/美食杰/js/ajax/index.js
2024-09-27 02:06:13 +08:00

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 })