设为首页 加入收藏

TOP

XHR 对象实例所有的配置、属性、方法、回调和不可变值(三)
2019-09-17 18:48:32 】 浏览:71
Tags:XHR 对象 实例 有的 配置 属性 方法 调和 可变
数据,当数据类型为document的时候,它在发送之前会进行序列化,在FireFox3之前编码总是会采用utf8,在这之后会根据body或者xmlEncoding的编码。
什么是序列化?
序列化是将对象状态转换为可保持或传输的格式的过程。在java script中最常用的进行序列化的方法是JSON.stringify,反序列化可以使用JSON.parse来实现。
④ abort
如果请求已经被发送,则立刻中止请求。但是这个也只是让前端结束ajax请求,至于后台会不会也结束请求不再去执行某些操作,那么就得对后端进行设置了。
⑤ getResponseHeader
返回指定的响应头的值,如果响应头还没被接受,或该响应头不存在,则返回null。
语法:getResponseHeader(相应头名称)
java script
var xhr=new XMLHttpRequest(); xhr.open("GET","http://127.0.0.1/getResponseHeader.php"); xhr.send(null); xhr.onreadystatechange=function(){ if(xhr.readyState===xhr.DONE){ console.log(xhr.getResponseHeader("Content-Type")); } }
上面这一段代码会输出”text/html“,也就是说在相应头中的Content-Type就是这个。
⑥ getAllResponseHeaders
这个方法和上面的getResponseHeader相类似,这个方法返回的是所有的头部信息,经过实际测试返回的内容数据类型为string。
⑦ overrideMimeType
在浏览器中显示的内容有 HTML、有 XML等等很多类型,浏览器就是使用MIME Type,也就是该资源的媒体类型来区分它们,来决定怎么显示。
媒体类型通常是通过 HTTP 协议,由 Web 服务器告知浏览器的,更准确地说,是通过Content-Type 来表示的,例如:Content-Type: text/HTML表示内容是 text/HTML 类型,也就是超文本文件。
这个方法的作用就是重写由服务器返回的MIME type。这个可用于强制把一个响应流当作“text/xml”来处理和解析,即使服务器没有指明数据是这个类型。
这个方法需要在open之后,send方法之前进行调用。

四、回调项
① onabort
当一个xhr实例调用abort方法的时候会触发这个回调,用于处理中断了一个xhr请求之后的一些事情。这个回调函数会传入一个XMLHttpRequestProgressEvent类型的参数:
 
② onerror
当xhr出现错误的时候就会触发这个回调,也会传入一个XMLHttpRequestProgressEvent对象。
③ ontimeout
当请求的执行时间超过了timeout设置的时长的时候就会触发这个超时回调。
④ onreadystatechange
每当 XMLHttpRequest 的属性 readyState 发生改变时就会触发这个事件,但是根据实际测试如果open的时候这个ajax请求不是异步的,那么就不会触发这个事件。
当一个 XMLHttpRequest 请求被 abort() 方法取消时 readystatechange 事件也不会被触发。
还剩下4个回调,这四个都是关于progress的,所以在这里一起来写一下~
在 XHR2 (XMLHttpRequest Level 2) 的规范性已经定义了 Progress Event 事件,好让我们在发送异步请求的时候能够得知进度。
onloadstart:当process开始的时候触发。
onloadend:当process结束的时候。
onprogress:每次progress正在进行的时候触发,会传入一个XMLHttpRequestProgressEvent对象,可以从这个对象的total属性、loaded对象等来获取总大小和已经加载的大小。
onload:每次progress成功的时候触发。
首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇HTTP缓存字段总结 下一篇Angular i18n(国际化方案)

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目