可能是target中并没有加载出来,这时候需要重新打包
状态码 0:请求未初始化 1:服务器连接已建立 2:请求已接收 3:请求处理中 4:请求已完成,且响应已就绪 5.http状态码(status) 200:(成功) 403:(禁止)服务器拒绝请求 404...:(未找到)服务器找不到请求的页面 408:(请求超时)服务器等候请求发生超时 500:(服务器内部错误)服务器遇到错误,无法完成请求 6.onload和onreadystatechange 当onload...http状态码(status) 200:(成功) 403:(禁止)服务器拒绝请求 404...:(未找到)服务器找不到请求的页面 408:(请求超时)服务器等候请求发生超时 500:(服务器内部错误)服务器遇到错误,无法完成请求...("h2").innerHTML = JSON.parse(this.responseText).title; } else if (xhr.status = 404)
一、什么是Ajax Ajax 的全称是 Asynchronous JavaScript and XML(即异步的 JavaScript 和 XML),是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术...= function () { //异步调用成功 if (XHR.readyState === 4) { if ((XHR.status >= 200 && XHR.status...XHR.status === 304) { //获得服务器返回的数据 data = JSON.parse(XHR.responseText...readyState 等于 4 且状态为 200 时,表示响应已就绪) 304:该资源在上次请求之后没有任何修改(这通常用于浏览器的缓存机制,使用GET请求时尤其需要注意) 403:(禁止) 服务器拒绝请求 404...:(未找到) 服务器找不到请求的网页 408:(请求超时) 服务器等候请求时发生超时 500:(服务器内部错误) 服务器遇到错误,无法完成请求
HTTP状态码 xhr.status/xhr.statusText200 OK202 Accepted :服务器已接受请求,但尚未处理(异步)204 No Content:服务器成功处理了请求,但不需要返回任何实体内容...Content-Length….)301 Moved Permanently 永久重定向「域名迁移」302 Move Temporarily 临时重定向 「负载均衡、登录」304 Not Modified一个附带条件的请求,但未找到与条件有关的内容...Proxy400 Bad Request : 请求参数有误401 Unauthorized:权限(Authorization)403 Forbidden 服务器拒绝执行「拒绝原因可能会以响应主体返回」404...Server Error 未知服务器错误502 Bad Gateway作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。...ajax状态 xhr.readyState0 UNSENT 创造出来xhr实例就是01 OPENED 执行open方法后就会由0变成12 HEADERS_RECEIVED 响应头信息已经返回3 LOADING
}).then(response => { resolve(response) }).catch(error => { // 错误响应处理...window.location.reload() }, 1000) break case 404...: Message({ message: '很抱歉,资源未找到!'...= new XMLHttpRequest() xhr.open('GET', url, true) xhr.responseType = 'blob' xhr.onload =...() => { if (xhr.status === 200) { resolve(xhr.response) } } xhr.send()
AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。...是未找到页面 responseText是返回的数据,为字符串格式 三、jQuery实现AJAX 1.GET 使用get()方法时,采用GET方式向服务器请求数据,并通过方法中回调函数的参数返回请求的数据...四、AJAX的调试 在运行AJAX的页面按F12(Chrome下),进入“Network”选项卡,点击"XHR"过滤器,然后触发AJAX的事件。 ? 点击要进行调试的AJAX动作,进入详情页。 ?...Request URL:查看请求的地址,一般在这里查看向后台请求的URL是否正确,错误404的话一般这里会有问题 Request Method:请求的方式,查看是GET或者POST,GET请求的参数一致的话会有缓存...一般是200正常;404未找到页面,一般是URL错误,或者后台没有创建相应的action;500内部服务错误,多为后台错误。
= null; if(window.XMLHttpRequest){ xhr = new XMLHttpRequest(); } else{ xhr =...服务器返回的文本 responseXML 服务器返回的xml,可以当做DOM处理 status 服务器返回的http请求响应值常用的有: 200 表示请求成功 202 请求被接受,但处理未完成 400 错误的请求...404 资源未找到 500 内部服务器错误,如asp代码错误等 onreadystatechange onreadystatechange:绑定一个事件处理函数,该函数用来处理readystatechange...= function(){ if(xhr.readyState == 4 && xhr.status == 200){ var txt = xhr.responseText;...GET 请求 xhr.send(null) POST 请求 xhr.send(name =value & name = value...)
= new XMLHttpRequest() xhr.onload = success xhr.onerror = error xhr.open("GET", ""https://jsonplaceholder.typicode.com...如果存在网络错误,则将拒绝,这会在.catch()块中处理。 如果来自服务器的响应带有任何状态码(如200、404、500),则promise将被解析。响应对象可以在.then()块中处理。...错误处理 请注意,对于成功的响应,我们期望状态代码为200(正常状态),但是即使响应带有错误状态代码(例如404(未找到资源)和500(内部服务器错误)),fetch() API 的状态也是 resolved...,它仍然会首先进入then()块,在该块中它无法解析错误JSON并抛出catch()块捕获的错误。...将响应代码(例如404、500)视为可以在catch()块中处理的错误,因此我们无需显式处理这些错误。
SystemJShttps://github.com/systemjs/Systemjs是一个可配置模块加载器,为浏览器和NodeJs启用动态的Es模板加载器。...任何具有标准的URL都可被加载为一个模块: // 加载相对于当前地址的url SystemJS.import('....,所以我认为 SystemJS 最初诞生的目的是为了做一个通用的模块加载器,在浏览器端实现对 CommonJS、AMD、UMD 等各种模块的加载。...在本地运行时,请确保从本地服务器或启用了本地XHR请求的浏览器运行。如果不是,将会收到一条错误消息。...SystemJS加载配置baseURLbaseURL提供了一种根据一个相对地址装载模块的机制。
,子系统间切换不再刷新; 菜单栏、登录、退出等功能都从子项目剥离,写在主项目里,再有相关改动只需修改主项目,包括错误监控、埋点等行为,只需处理一个主项目,十几个子项目不再需要处理; 子项目原本需要加载的公共部分...这里有个vue微前端版demo,包含最基础的效果与源码,务必研究一下这个demo再结合以上理论来帮助理解 *远程加载的子项目资源要在chrome的network中的xhr那一栏才能看到 图4:图3中的apps.config.js...根据systemjs文档说明,我们只需要把子项目打成umd格式(umd糅合了AMD和CommonJS)的包即可动态外部加载。...只是在加载index.html时注册了这些CDN地址,不会直接去加载,当子项目里用到的时候,systemjs会接管模块引入,systemjs会去上面注册的map中查找匹配的模块,就再动态去加载资源。...一个功能产生了致命错误,会不会所有功能跟着出问题? 最后我想说: 我们做这套框架的初衷是解决眼前的问题,然而发现它附带的潜力价值却比想象的多得多。
另外 onerror 是无法捕获到网络异常的错误。 当我们遇到 404.png"> 报 404 网络请求异常的时候,onerror 是无法帮助我们捕获到异常的。... window.addEventListener('error', (msg, url, row, col, error) => { console.log('我知道 404 错误了...这点知识还是需要知道,要不然用户访问网站,图片 CDN 无法服务,图片加载不出来而开发人员没有察觉就尴尬了。...= e.detail, status = xhr.status, readyState = xhr.readyState, responseText...页面加载时长 参见:https://blog.oldj.net/2012/01/09/measuring-the-user-latency/ 参考: https://www.cnblogs.com/hustskyking
,子系统间切换不再刷新; 菜单栏、登录、退出等功能都从子项目剥离,写在主项目里,再有相关改动只需修改主项目,包括错误监控、埋点等行为,只需处理一个主项目,十几个子项目不再需要处理; 子项目原本需要加载的公共部分...这里有个vue 微前端版 demo[5],包含最基础的效果与源码,务必研究一下这个 demo 再结合以上理论来帮助理解 *远程加载的子项目资源要在 chrome 的 network 中的 xhr 那一栏才能看到...根据 systemjs 文档说明,我们只需要把子项目打成 umd 格式(umd 糅合了 AMD 和 CommonJS)的包即可动态外部加载。...只是在加载 index.html 时注册了这些 CDN 地址,不会直接去加载,当子项目里用到的时候,systemjs 会接管模块引入,systemjs 会去上面注册的 map 中查找匹配的模块,就再动态去加载资源...一个功能产生了致命错误,会不会所有功能跟着出问题? 最后我想说: 我们做这套框架的初衷是解决眼前的问题,然而发现它附带的潜力价值却比想象的多得多。
AJAX允许只更新一个 HTML 页面的部分 DOM,而无须重新加载整个页面。AJAX还允许异步工作,这意味着当网页的一部分正试图重新加载时,您的代码可以继续运行。.... // For example, the response may hava a 404 (Not Found) // or 500 (...Error) response code. } break; } } catch (e) { // 通信错误的事件中...优点 fetch更加底层,提供的API丰富(request和response) fetch基于标准promise实现,支持async/await 缺点 只有网络错误(如断网)才会调用reject,而对400...,500这种错误并不会reject 默认不会带cookie,需要添加配置项:fetch(url,{credentials:‘include’}) 不支持abort,不支持超时控制或主动取消 (XHR支持
从原生XMLHttpRequest对象到Axios等第三方库,拥有如此丰富的选择集合使得在web应用程序中请求和动态加载内容比以往任何时候都更加轻松。...Axios SuperAgent Ky XMLHttpRequest XMLHttpRequest是一种Javascript原生API,它封装了发送HTTP请求的逻辑,而无需刷新已加载的网页...is completed xhr.onload = function() { if (xhr.status === 200) { //parse JSON datax`x data...(xhr.status === 404) { console.log("No records found") } } //triggered when a network-level error...这里需要注意的是,onerror方法只处理与请求相关的网络级错误。为了识别HTTP错误,我们必须检查onload方法中的HTTP状态代码。
至于前端用户看到什么效果,从后端请求的数据如何加载到前端中,都由前端自己决定,网页有网页的处理方式,App 有 App 的处理方式,但无论哪种前端,所需的数据基本相同,后端仅需开发一套逻辑对外提供数据即可...并将异步操作的结果,作为参数传递出去;reject 函数的作用是,将 Promise 对象的状态从“未完成”变为“失败”(即从 pending 变为 rejected),在异步操作失败时调用,并将异步操作报出的错误...3: 请求处理中 4: 请求已完成,且响应已就绪 - status:响应状态码 200: "OK" 404...: 未找到页面 */ xhr.onreadystatechange = function() { if(xhr.readyState !...= 4) { return ; } if(xhr.readyState == 4 && xhr.status == 200) {
什么是Ajax讨论1075083208 Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 ...status——从服务器返回的数字代码,如404(未找到)和200(已就绪)。 status Text——伴随状态码的字符串信息。 readyState——对象状态值。...XHR对象由IE5率先引入,在IE5中XHR对象是通过MSXML库中一个ActiveX对象实现的,根据IE版本不同可能会遇到不同版本XHR对象,而IE7+与其它现代浏览器均支持原生的XHR对象,在这些浏览器中我们只需使用...status——从服务器返回的数字代码,如404(未找到)和200(已就绪)。 status Text——伴随状态码的字符串信息。 ...1 xhr.open('get','default.aspx,false'); //准备同步请求 2 xhr.send(); 3 if(xhr.status>=200 && xhr.status
if(window.ActiveXObject){ xhr = new ActiveXObject() }else{ xhr = null; } if(xhr){ xhr.open(‘GET.../data/data.json’); xhr.onreadystatechange = function(){ if(xhr.readyState == 4 && xhr.status == 200...这个对象可以在不重新加载页面的情况下从后台获取数据,支持的浏览器有IE7+、Firefox、Chrome、Safari 以及 Opera ActiveXObject(“Microsoft.XMLHTTP...方法,正在发送请求 2(发送数据)send()方法调用完成,但是当前的状态及http头未知 3(数据传送中)已接收部分数据,因为相应及http头不全,这时通过responseText获取部分数据会出现错误...4(完成)数据接收完成,此时可以通过responseText获取完整的数据 status 请求状态 200(成功) 404(没有发现文件) 500(服务器内部错误) responseText 请求成功后获取数据
Ajax优点: 减少冗余请求,节省网络带宽,提高网页加载效率,从而缩短用户等待时间,促进页面与数据分离,提高用户体验 Ajax缺点: Ajax干掉了浏览器后退机制(back按钮); 特定页面很难加入收藏夹...xhr=new XMLHttpRequest(); 5 }else{ 6 //IE6,IE5浏览器执行代码 7 xhr=new ActiveXObject("Microsoft.XMlHTTP...XMLHttpRequest的状态(0,1,2,3,4): 0:请求未初始化; 1:服务器连接已建立; 2:请求已接收; 3:请求处理中; 4:请求已完成,响应已就绪 status: 常见200(“OK”),404...(未找到页面) 1 xhr.onreadystatechange=function(){ 2 if (xhr.readyState==4 && status==200) { 3...xhr.onreadystatechange=function(){ 17 if(xhr.readyState==4 && xhr.status==200){ 18
= new XMLHttpRequest(); //创建一个XMLHttpRequest xhr.open(type,url,true) // 创建请求 // 监听请求 xhr.onreadystatechange...= function(resp){ if (xhr.readyState===4){ // 状态 0请求未初始化 1请求已创建但未发送 2发送请求完成,处理中 3解析请求数据 4返回结果...if(xhr.status===200){ // http状态码 resolve(xhr.responseText) // 返回请求数据 }else...if(xhr.status===404){ // 处理一个404 reject(new Error('404 not found')) // 告知404错误 }...} } // 发送请求 xhr.send(data) }) }
() { if (xhr.readyState == 4) { //ajax的状态4表示加载完成 if (xhr.status >= 200 &...1XX 100-101 信息提示 2XX 200-206 成功 3XX 300-305 重定向 4XX 400-415 客户端错误 5XX 500-505 服务器错误 200...Response中应该包含一个Location URL, 说明资源现在所处的位置 304 Not Modified(未修改)客户的缓存资源是最新的, 要客户端使用缓存 404 Not Found 未找到资源...501 Internal Server Error服务器遇到一个错误,使其无法对请求提供服务 这是比较齐全的状态表: ?...这里分成三列瀑布流,组成一个数组管理 这个数组会不断计算三列之中的最小值 然后按照每次的最小值进行高度插入 图片判断是否加载完成需要用load方法,并且图片需要先new image才能加载方法 图片的插入次序不是固定的
领取专属 10元无门槛券
手把手带您无忧上云