一个栗子在上传多少秒以后直接终止请求,我来为大家讲解一下关于前端ajax请求什么时候会出现跨域?跟着小编一起来看一看吧!

前端ajax请求什么时候会出现跨域(详细解释-中止请求和超时-跨域的HTTP请求-认证方式-JSONP)

前端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) // 对回调函数的处理

,