使用 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);
}
无评论