export class HttpUtil { static get(url: string, callback: (statusCode: number, resp: object | null) => any) { let xhr = new XMLHttpRequest(); xhr.timeout = 2000; xhr.open("GET", url); xhr.onreadystatechange = () => { if (xhr.readyState == 4 && xhr.status >= 200 && xhr.status < 400) { let resp = null; try { if (xhr.responseText != "") { resp = JSON.parse(xhr.responseText); } } catch (e) { } callback && callback(1, resp); } }; xhr.onerror = () => { callback && callback(0, null); }; xhr.ontimeout = () => { callback && callback(0, null); }; xhr.send(); return xhr; } static post(url: string, callback: (statusCode: boolean, resp: any | null) => any, data: object | string | null) { let xhr = new XMLHttpRequest(); xhr.timeout = 2000; xhr.open("POST", url, true); xhr.setRequestHeader("Content-Type", "text/plain;charset=UTF-8"); xhr.onreadystatechange = () => { if (xhr.readyState == 4 && xhr.status >= 200 && xhr.status < 400) { let resp = null; try { if (xhr.responseText != "") { resp = JSON.parse(xhr.responseText); } } catch (e) { } callback && callback(true, resp); } }; xhr.onerror = (mgs) => { console.log('网络错误'); callback && callback(false, null); }; xhr.ontimeout = (mgs) => { console.log('网络超时'); callback && callback(false, null); }; if (data) { let text = typeof (data) == "string" ? data : JSON.stringify(data); xhr.send(text); return xhr; } xhr.send(); return xhr; } }