class Ajax { constructor() { this.ajax = new XMLHttpRequest() } // { url: '请求地址', data: {} //请求参数 } get (params) { Tips.loading() var str = "" for (const key in params.data) { str += `&${key}=${params.data[key]}` } str = str.replace("&", "?") this.ajax.open("GET", this.baseUrl() + params.url + str); return new Promise((resolve, reject) => { this.ajax.send(); this.statechange(resolve, reject) }) } post () { this.open("POST", "http://127.0.0.1/index.php") } statechange (resolve, reject) { this.ajax.onreadystatechange = () => { if (this.ajax.readyState == 4) { Tips.close() if (this.ajax.status == 200) { var data = JSON.parse(this.ajax.responseText) switch (data.status) { case 200: resolve(data.result) break; case 404: alert(data.msg) reject(data) throw new Error(data.msg) break; } } else { reject(this.ajax) } } } } baseUrl() { switch (config.stage) { case "dev": return config.devBaseUrl; break; case "test": return config.testBaseUrl; break; case "prod": return config.prodBaseUrl; break; } } }