47 lines
1.1 KiB
JavaScript
47 lines
1.1 KiB
JavaScript
class Api {
|
|
|
|
constructor() {
|
|
this.ajax = new XMLHttpRequest();
|
|
this.baseUrl = "http://127.0.0.1:8090/api";
|
|
}
|
|
|
|
get(option) {
|
|
|
|
// 转换get参数
|
|
var params = "";
|
|
for (const key in option.data) {
|
|
params+= `&${key}=${option.data[key]}`
|
|
}
|
|
|
|
params = params.replace("&", "?")
|
|
option.url = this.baseUrl+option.url + params;
|
|
|
|
this.ajax.open("GET",option.url);
|
|
this.ajax.send();
|
|
this.readystatechange(option.success,option.error)
|
|
}
|
|
|
|
post(option) {
|
|
this.ajax.open("POST",this.baseUrl+option.url);
|
|
this.ajax.setRequestHeader("Content-Type","application/json");
|
|
this.ajax.send(JSON.parse(option.data));
|
|
this.readystatechange(option.success,option.error)
|
|
}
|
|
|
|
|
|
readystatechange(success,error) {
|
|
this.ajax.onreadystatechange = () => {
|
|
if (this.ajax.readyState == 4 ) {
|
|
if (this.ajax.status == 200) {
|
|
success(JSON.parse(this.ajax.response))
|
|
} else {
|
|
error && error(this.ajax)
|
|
// console.log("网络请求出错")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
var api = new Api(); |