class Ajax { constructor () { this.http = new XMLHttpRequest(); } get(option) { Tips.loading() var params = "" for (const key in option.data) { params+= `&${key}=${option.data[key]}` } params = params.replace("&", "?") option.url = this.url() + option.url + params return new Promise( (resolve, reject) => { this.http.open("GET", option.url); this.http.send() return this.onreadystatechange(resolve, reject) }) } post(option) { this.http.open("POST", option.url); this.http.setRequestHeader('Content-Type', 'application/josn'); this.http.send(JSON.stringify(option.data)) this.onreadystatechange(option) } onreadystatechange(resolve, reject) { this.http.onreadystatechange = () => { if (this.http.readyState == 4) { Tips.close() if (this.http.status == 200) { var res = JSON.parse(this.http.response); switch (res.status) { case 200: resolve(res.result); break; case 404: Tips.dialog({ title: '程序出错啦', message: res.msg }); throw new Error(res.msg); break; } resolve() } else { reject(this.http) } } } } url() { switch (config.stage) { case "dev": return config.devUrl; break; case "test": return config.testUrl; break; case "prod": return config.prodUrl; break; } } } var ajax = new Ajax()