38 lines
825 B
JavaScript
38 lines
825 B
JavaScript
/**
|
|
*
|
|
* @param option
|
|
* {
|
|
* url: '',
|
|
* method: '',
|
|
* data: {
|
|
* id: 1,
|
|
* page: 10
|
|
* },
|
|
* async: true,
|
|
* success: function() {},
|
|
* error: function() {},
|
|
* }
|
|
*/
|
|
function http(option) {
|
|
var params = [];
|
|
if (option.method == "GET") {
|
|
for (const key in option.data) {
|
|
params.push(`${key}=${option.data[key]}`)
|
|
}
|
|
option.url = `${option.url}?${params.join("&")}`
|
|
}
|
|
var http = new XMLHttpRequest();
|
|
http.open(option.method,option.url);
|
|
http.send()
|
|
|
|
http.onreadystatechange = function () {
|
|
if(http.readyState == 4) {
|
|
if (http.status == 200) {
|
|
option.success(JSON.parse(http.responseText))
|
|
} else {
|
|
option.error(http)
|
|
}
|
|
}
|
|
}
|
|
}
|