class Ajax { constructor() { this.ajax = new XMLHttpRequest(); } /** * * @param {*} params * { * url: '', * data: { * id: 1, * page: 2 * }, * header: { * 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' * } * } */ get(params) { return new Promise((success, error) => { var str = "" for (const key in params.data) { str += `&${key}=${params.data[key]}` } str = str.replace("&", "?") this.ajax.open("GET", `${params.url}${str}`) this.ajax.send() this.readystatechange(success, error) }) } post() { } readystatechange(success, error) { this.ajax.onreadystatechange = () => { if (this.ajax.readyState == 4) { if (this.ajax.status == 200) { var data = JSON.parse(this.ajax.responseText) // console.log(data); success(data) } else { error(this.ajax) } } } } } var ajax = new Ajax();