MDN之Web API 接口参考(二)【XMLHttpRequest】

使用XMLHttpRequest (XHR)对象可以与服务器交互。您可以从URL获取数据,而无需让整个的页面刷新。这使得Web页面可以只更新页面的局部,而不影响用户的操作。XMLHttpRequestAjax 编程中被大量使用。
在这里插入图片描述
尽管名称如此,XMLHttpRequest可以用于获取任何类型的数据,而不仅仅是XML,它还支持 HTTP以外的协议(包括文件和ftp)。

如果您的通信需要从服务器接收事件或消息数据,请考虑通过EventSource接口使用 server-sent events。对于 full-duplex 通信, WebSockets 可能是更好的选择。

构造方法

XMLHttpRequest()

构造函数初始化一个 XMLHttpRequest 对象。必须在所有其他方法被调用前调用构造函数。

属性

此接口继承了 XMLHttpRequestEventTargetEventTarget的属性。

XMLHttpRequest.onreadystatechange

readyState属性发生变化时调用的EventHandler

XMLHttpRequest.readyState 只读 

返回 一个unsigned short 即无符号短整型,请求的状态码。

XMLHttpRequest.response 只读 

返回ArrayBufferBlobDocumentDOMString,具体是哪种类型取决于XMLHttpRequest.responseType的值。其中包含响应体body

XMLHttpRequest.responseText XMLHttpRequest.responseText

返回一个DOMString,该DOMString包含对请求的响应,如果请求未成功或尚未发送,则返回null

XMLHttpRequest.responseType

定义响应类型的枚举值。

XMLHttpRequest.responseURL 只读

返回响应的序列化URL,如果URL为空,则返回空字符串。

XMLHttpRequest.responseXML 只读

返回一个Document,其中包含该请求的响应,如果请求未成功、尚未发送或不能解析为XMLHTML,则返回null

XMLHttpRequest.status 只读

返回 unsigned short 即无符号短整型请求响应状态。

XMLHttpRequest.statusText 只读

返回一个DOMString,其中包含HTTP服务器返回的响应状态。与 XMLHTTPRequest.status不同的是,它包括响应状态的整个文本(例如,“200 OK”)。

注意:根据HTTP/2规范(8.1.2.4响应伪标头字段),HTTP/2没有定义一种方式来携带HTTP/1.1状态行中包含的版本或原因短语。

XMLHttpRequest.timeout

unsigned long 即无符号长整型,表示该请求的最大请求时间(毫秒),超过该时间请求会自动结束。

XMLHttpRequestEventTarget.ontimeout

当请求超时调用的EventHandler

XMLHttpRequest.upload 只读

XMLHttpRequestUpload,表示上传过程。

XMLHttpRequest.withCredentials

Boolean,用来指定跨域的请求是否应该使用证书(如cookie或授权header头)。

非标准属性

XMLHttpRequest.channel只读

nsIChannel,对象在执行请求时使用的通道。

XMLHttpRequest.mozAnon只读

一个布尔值,如果为真,请求将在没有cookie和身份验证header头的情况下发送。

XMLHttpRequest.mozSystem只读

一个布尔值,如果为真,则在请求时不会强制执行同源策略。

XMLHttpRequest.mozBackgroundRequest

一个布尔值,它指示对象是否是后台服务器端的请求

XMLHttpRequest.mozResponseArrayBuffer 已废弃 Gecko 6 只读

一个ArrayBuffer类型,把请求的响应作为一个TypedArrays

XMLHttpRequest.multipart已废弃 Gecko 22

这个Gecko的独有属性,是一个布尔值,在Firefox/Gecko 22中被删除了。请使用Server-Sent Events, Web Sockets, 或来自进度事件的responseText代替。

方法

XMLHttpRequest.abort()

如果请求已经被发送,则立刻中止请求.

XMLHttpRequest.getAllResponseHeaders()

以字符串的形式返回所有用CRLF分隔的响应头,如果没有收到响应,则返回null

XMLHttpRequest.getResponseHeader()

返回包含指定响应头的字符串,如果响应尚未收到或响应中不存在该报头,则返回null

XMLHttpRequest.open()

初始化一个请求。该方法只能JavaScript代码中使用,若要在native code中初始化请求,请使用openRequest()

XMLHttpRequest.overrideMimeType()

重写由服务器返回的MIME type

XMLHttpRequest.send()

发送请求。如果请求是异步的(默认),那么该方法将在请求发送后立即返回。

XMLHttpRequest.setRequestHeader()

设置HTTP请求头的值。您必须在open()之后、send()之前调用setRequestHeader()这个方法。

非标准方法

init()

在 C++代码中初始化一个XHR对象.

警告: 该方法不能在 JavaScript 代码中使用.

openRequest()

初始化一个请求. 这个方法用于本地代码; 如果用JavaScript 代码来初始化请求, 使用 open()代替. 看文档open().

XMLHttpRequest.sendAsBinary()

send()方法的变体,用来发送二进制数据。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值