AJAX XMLHttpRequest


XMLHttpRequest 对象是 AJAX 的关键。自 2000 年 7 月 Internet Explorer 5.5 发布以来,它就一直可用,但直到 2005 年 AJAX 和 Web 2.0 流行后才被完全发现。

XMLHttpRequest (XHR) 是一种 API,JavaScript、JScript、VBScript 和其他 Web 浏览器脚本语言可以使用它来使用 HTTP 将 XML 数据传输到 Web 服务器和从 Web 服务器传输和操作 XML 数据,从而在网页的客户端和客户端之间建立独立的连接通道。服务器端。

XMLHttpRequest 调用返回的数据通常由后端数据库提供。除了 XML,XMLHttpRequest 还可用于获取其他格式的数据,例如JSON 甚至纯文本。

你已经看过几个关于如何创建 XMLHttpRequest 对象的示例。

下面列出了一些你必须熟悉的方法和属性。

XMLHttpRequest 方法


  • abort()

    取消当前请求。

  • getAllResponseHeaders()

    以字符串形式返回完整的 HTTP 标头集。

  • 获取响应标题(标题名称)

    返回指定 HTTP 标头的值。

  • 打开(方法,网址)

  • 打开(方法,URL,异步)

  • 打开(方法,URL,异步,用户名)

  • 打开(方法,URL,异步,用户名,密码)

    指定请求的方法、URL 和其他可选属性。

    方法参数的值可以是“GET”、“POST”或“HEAD”。其他 HTTP 方法,例如“PUT”和“DELETE”(主要用于 REST 应用程序)可能也是可行的。

    “async”参数指定是否应该异步处理请求。 “true”表示脚本处理在send()方法之后继续进行,不等待响应,“false”表示脚本在继续脚本处理之前等待响应。

  • 发送(内容)

    发送请求。

  • setRequestHeader(标签,值)

    将标签/值对添加到要发送的 HTTP 标头。

XMLHttpRequest 属性


  • onreadystatechange

    在每次状态更改时触发的事件的事件处理程序。

  • 就绪状态

    readyState 属性定义 XMLHttpRequest 对象的当前状态。

    下表提供了 readyState 属性的可能值列表:

State 描述
0 请求未初始化。
1 请求已设置。
2 请求已发送。
3 请求正在处理中。
4 请求完成。

就绪状态 = 0 在创建 XMLHttpRequest 对象之后,但在调用 open() 方法之前。

就绪状态 = 1 在调用 open() 方法之后,但在调用 send() 之前。

就绪状态 = 2 在你调用了 send() 之后。

就绪状态 = 3 在浏览器与服务器建立通信之后,但在服务器完成响应之前。

就绪状态 = 4 请求完成后,从服务器完全接收到响应数据。

  • 响应文本

    以字符串形式返回响应。

  • 响应XML

    以 XML 形式返回响应。此属性返回一个 XML 文档对象,可以使用 W3C DOM 节点树方法和属性对其进行检查和解析。

  • status

    以数字形式返回状态(例如,404 表示“未找到”,200 表示“正常”)。

  • 状态文本

    以字符串形式返回状态(例如,“未找到”或“确定”)。