使用 XMLHttpRequest(四):中止请求和超时


可以通过调用 XMLHttpRequest 对象的 abort() 方法来取消正在进行的 HTTP 请求,调用该方法会触发 abort 事件:

function timeGetText(url, timeout, callback) {
    var request = new XMLHttpRequest();
    var timedout = false;
    var timer = setTimeout(function () {
        timedout = true;
        request.abort();
    }, timeout);
    request.open("GET", url);
    request.onreadystatechange = function () {
        if (request.readyState !== 4)
            return;
        if (timedout)
            return;
        clearTimeout(timer);
        if (request.status === 200) {
            callback(request.responseText);
        }
    };
    request.send(null);
}

点赞 取消点赞 收藏 取消收藏

<< 上一篇: 使用 XMLHttpRequest(三):HTTP 进度事件

>> 下一篇: 使用 XMLHttpRequest(五):跨域 HTTP 请求