Javascript 当XMLHttpRequest失败时如何处理?

Javascript 当XMLHttpRequest失败时如何处理?,javascript,ajax,xmlhttprequest,ecmascript-5,Javascript,Ajax,Xmlhttprequest,Ecmascript 5,我正在尝试进行XHR呼叫,但如果服务器未联机,或者在呼叫启动后Internet断开连接,则我将获得失败状态 我尝试了onload()、onerror()、onreadystatechange()事件,但没有触发任何事件。 这是我的Javascript代码片段 function login() { animateLogo(true); document.getElementsByTagName('fieldset')[0].setAttribute('disabled', 'tr

我正在尝试进行XHR呼叫,但如果服务器未联机,或者在呼叫启动后Internet断开连接,则我将获得失败状态

我尝试了onload()、onerror()、onreadystatechange()事件,但没有触发任何事件。 这是我的Javascript代码片段

function login() {
    animateLogo(true);
    document.getElementsByTagName('fieldset')[0].setAttribute('disabled', 'true');
    var http = new XMLHttpRequest();
    var url = "localhost:3000/login";
    var params = `email=${email}&password=${password}&remember=${remember}`;
    http.open('POST', url, true);
    http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
    http.onload = function () {
        animateLogo(false);
        // Response handler
    }
    http.send(params); }

由于没有触发任何事件,我无法停止动画

您可以检查请求的状态 (成功=200,未找到=404,服务器错误=500等)

const http = new XMLHttpRequest();
const url = "localhost:3000/login";
http.open('POST', url, true);
const params = `email=${email}&password=${password}&remember=${remember}`;
http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');

http.onreadystatechange = function() {//Call a function when the state changes.
    if(this.readyState == XMLHttpRequest.DONE && this.status == 200) {
        // Request finished. Do processing here.
    }
    // handle other status here
}
http.send(params);