看XMLHttpReqesut作的一些笔记。
XMLHttpRequest是一个 API,它为客户端提供了在客户端和服务器之间传输数据的功能。
它提供了一个通过 URL 来获取数据的简单方式,并且不会使整个页面刷新。XMLHttpRequest 是AJAX的核心。ajax通过XMLHttpRequset对象来
- 继承了 XMLHttpRequestEventTarget 和EventTarget 的属性。
- 派生关系:EventTarget ->XMLHttpRequestEventTarget ->XMLHttpReqesut。
1. XMLHttpRequest对象的属性包括:
- 发送
- onreadystatechange(Function,readyState改变时调用)
- readyState(请求状态,有5种)
- 响应
- response
- responseText
- responseType(响应类型,告诉服务器期望的响应格式)
- responseXML
3.状态
- status(请求的响应状态码)
- statusText
4. 其他
- upload:添加一个事件监听来跟踪上传过程
- withCredentials:表明在进行跨站(cross-site)的访问控制(Access-Control)请求时,是否使用认证信息(例如cookie或授权的header)。 默认为 false。
以及非标准属性:
- channel :执行请求时对象使用的通道,在多部分请求的情况下,这是初始通道。
- mozBackgroundRequest :指示对象是否表示后台服务请求。如果true没有加载组与请求相关联,并且防止安全对话向用户显示
- mozResponseArrayBuffer:对请求的响应,作为JavaScript类型的数组
- multipart :指示是否预计响应可能是多个XML文档的流。如果设置为true,则初始响应的内容类型必须为multipart/x-mixed-replace或发生错误。所有请求必须是异步的。这支持服务器推送; 对于写入此请求的每个XML文档,都会创建一个新的XML DOM文档,并onload在文档之间调用处理程序
2. XMLHttpRequest对象的方法:
abort():
- 如果请求已经被发送,则立刻中止请求
getAllResponseHeaders():
- 返回所有响应头信息(响应头名和值), 如果响应头还没接受,则返回null
getResponseHeader():
- 返回指定的响应头的值
open():初始化一个请求.
overrideMimeType():
- 重写由服务器返回的MIME type。注意,这个方法必须在send()之前被调用。
send():发送请求
setRequestHeader():
- 给指定的HTTP请求头赋值.在这之前,必须确认已经调用 open() 方法打开了一个url
非标准方法:
- init():在 C++代码中初始化一个XHR对象.
- sendAsBinary():发送二进制数据 的send()方法