📜  AJAX-XMLHttpRequest

📅  最后修改于: 2020-10-28 04:35:48             🧑  作者: Mango


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

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

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

您已经看了几个有关如何创建XMLHttpRequest对象的示例。

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

XMLHttpRequest方法

  • abort()

    取消当前请求。

  • getAllResponseHeaders()

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

  • getResponseHeader(headerName)

    返回指定的HTTP标头的值。

  • open(方法,URL)

  • open(方法,URL,异步)

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

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

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

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

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

  • 发送(内容)

    发送请求。

  • setRequestHeader(label,value)

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

XMLHttpRequest属性

  • 就绪状态变更

    每个状态更改时都会触发的事件的事件处理程序。

  • readyState

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

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

State Description
0 The request is not initialized.
1 The request has been set up.
2 The request has been sent.
3 The request is in process.
4 The request is completed.

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

readyState = 1在调用open()方法之后但在调用send()之前。

readyState = 2调用send()之后。

readyState = 3浏览器与服务器建立通信之后,但服务器未完成响应之前。

readyState = 4请求完成后,并且已经从服务器完全接收到响应数据。

  • responseText

    以字符串返回响应。

  • responseXML

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

  • 状态

    以数字形式返回状态(例如,“ 404”表示“找不到”,200表示“确定”)。

  • statusText

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