AJAX XMLHttpRequest
在 AJAX 中,XMLHttpRequest 起着非常重要的作用。XMLHttpRequest 用于在后台与Web服务器交换数据,而用户/客户端在前台工作,然后使用接收到的数据更新网页的一部分,而无需重新加载整个页面。
我们也可以说 XMLHttpRequest (XHR) 可以被各种 Web 浏览器脚本语言(如 JavaScript、JScript、VBScript 等)使用,在 HTTP 的帮助下与 Web 服务器交换 XML 数据。除了 XML,XMLHttpRequest 还可以获取各种格式的数据,如 JSON 等。它在客户端和服务器端之间创建异步连接。
使用语法
variableName = new XMLHttpRequest()
在使用新关键字和 XMLHttpRequest() 构造函数的情况下,我们可以创建一个新的 XMLHttpRequest 对象。在调用 open() 函数以初始化它之前,必须在调用 send() 函数以将请求发送到 Web 服务器之前创建此对象。
XMLHttpRequest 对象方法
XMLHttpRequest对象具有以下方法:
方法名 | 方法描述 |
new XMLHttpRequest() | 用于创建 XMLHttpRequest() 对象 |
getAllResponseHeaders() | 用于获取标头信息 |
getResponseHeader() | 用于获取特定的标头信息 |
open(method, url, async, user, psw) | 用于初始化请求参数。 method:请求类型GET或POST或其他类型 url:文件位置 async:对于设置为 true 的异步或设置为 false 的同步 user:可选用户名 psw:用于可选密码 |
send() | 它用于向 Web 服务器发送请求。它通常用于 GET 请求。 |
send(string) | 它用于向服务器发送请求。它通常用于 POST 请求。 |
setRequestHeader() | 它用于设置请求头 |
XMLHttpRequest 对象属性
XMLHttpRequest对象具有以下属性
属性名 | 属性描述 |
onreadystatechange | 设置处理请求状态更改的回调函数。 |
readyState | 用于保存 XMLHttpRequest 的状态。它具有以下值 - 0:请求未初始化(未调用open())。 1:服务器连接已建立(已调用open(),但尚未调用send())。 2:请求已接收(已调用send(),响应头和响应状态已可获取)。 3:请求处理中(正在下载响应体,响应体部分可用)。 4:请求已完成,响应已就绪(整个请求过程已结束)。 |
responseText | 用于将响应数据作为字符串返回 |
responseXML | 用于将响应数据作为 XML 数据返回 |
Status | 用于返回请求的状态号。例如 - 200:正常 403:禁止 404:未找到 |
StatusText | 用于返回状态文本。例如,“OK”、“Not Found”等。 |
XMLHttpRequest 的用法
在了解了 XMLHttpRequest 的基本语法、方法和属性之后,我们现在学习如何在现实生活中使用 XMLHttpRequest。因此,要在程序中使用 XMLHttpRequest,首先我们需要遵循以下主要步骤:
第 1 步 - 创建 XMLHttpRequest 对象
var variableName = new XMLHttpRequest()
第 2 步 - 在创建 XMLHttpRequest 对象后,我们现在必须定义一个回调函数,该函数将在从 Web 服务器获取响应后触发。
XMLHttpRequestObjectName.onreadystatechange = function(){ // Callback function body } XMLHttpRequestObjectName.open(method, url, async); XMLHttpRequestObjectName.send();
第 3 步 - 现在我们使用 open() 和 send() 函数向 Web 服务器发送请求。