一个栗子在上传多少秒以后直接终止请求,我来为大家讲解一下关于前端ajax请求什么时候会出现跨域?跟着小编一起来看一看吧!
前端ajax请求什么时候会出现跨域
中止请求和超时一个栗子在上传多少秒以后直接终止请求
// 发起HTTP GEt请求获取指定URl的内容
// 如果响应成功到达,将会传入responseText给回调函数
// 如果响应在timeout毫秒内没有到达,将会中止这个请求
function timedGetText(url, timeout, callback) {
var request = new XMLHttprequest(); // 创建新请求
var timedout = false; // 是否超时,设置标志
// 启动计时器,在timeout毫秒后将终止请求
var timer = setTimeout(() => { // 设置计时器,将在timeout时间之后执行该操作,不同于直接定义,是直接
timedout = true; // 设置标记
request.abort(); // 直接中止请求
}, timeout); // 直接终止请求
request.open('GET', url);
request.onreadystatechange = () => { // 定义事件处理程序,如果事件处理完成,直接终止计时器
if (request.readyState !== 4) return; // 如果此时仍然有没有下载完成的,直接忽视,等待计时器取消
if (timedout) return; // 确定此时仍然没有超时,如果此时仍然没有超时,直接取消
cleraTimeout(timer); // 此时已经执行完成任务,取消计时器
if (request.status === 200) // 对回调函数的处理
,