xmlHttpRequest 的几个方法属性
open()
:建立到服务器的新请求。
send()
:向服务器发送请求。
abort()
:退出当前请求。
readyState
:提供当前 HTML 的就绪状态。
responseText
:服务器返回的请求响应文本
HTTP 就绪状态(readyState状态代码)
前面提到,服务器在完成请求之后会在 XMLHttpRequest
的 onreadystatechange
属性中查找要调用的方法。这是真的,但还不完整。事实上,每当 HTTP 就绪状态改变时它都会调用该方法。这意味着什么呢?首先必须理解 HTTP 就绪状态。
HTTP 就绪状态表示请求的状态或情形。它用于确定该请求是否已经开始、是否得到了响应或者请求/响应模型是否已经完成。它还可以帮助确定读取服务器提供的响应文本或数据是否安全。在 Ajax 应用程序中需要了解五种就绪状态:
- 0
:请求没有发出(在调用
open()
之前)。
- 1
:请求已经建立但还没有发出(调用
send()
之前)。
- 2
:请求已经发出正在处理之中(这里通常可以从响应得到内容头部)。
- 3
:请求已经处理,响应中通常有部分数据可用,但是服务器还没有完成响应。
- 4
:响应已完成,可以访问服务器响应并使用它。
与大多数跨浏览器问题一样,这些就绪状态的使用也不尽一致。您也许期望任务就绪状态从 0 到 1、2、3 再到 4,但实际上很少是这种情况。一些浏览器从不报告 0 或 1 而直接从 2 开始,然后是 3 和 4。其他浏览器则报告所有的状态。还有一些则多次报告就绪状态 1。在上一节中看到,服务器多次调用 updatePage()
,每次调用都会弹出警告框 —— 可能和预期的不同!
有了就绪状态和您在 Ajax 编程技术中学习到的服务器的响应,您就可以为 Ajax 应用程序添加另外一级复杂性了 —— 这要使用 HTTP 状态代码。这些代码对于 Ajax 来说并没有什么新鲜。从 Web 出现以来,它们就已经存在了。在 Web 浏览器中您可能已经看到过几个状态代码:
- 401
:未经授权
- 403
:禁止
- 404
:没找到
- 301
:永久移动
- 302
:找到(请求被重新定向到另外一个 URL/URI 上)
- 305
:使用代理(请求必须使用一个代理来访问所请求的资源)
使用 Ajax 生成一个 HEAD 请求
function getSalesData() {
createRequest();
var url = "/boards/servlet/UpdateBoardSales";
request.open("HEAD"
, url, true);
request.onreadystatechange = updatePage;
request.send(null);
}
|
在这些情况中,您只使用了适当的头名,并将其传递给 XMLHttpRequest
对象的 getResponseHeader()
方法。因此要获取响应的长度,只需要调用 request.getResponseHeader("Content-Length");
。要获取内容类型,请使用 request.getResponseHeader("Content-Type");
。
分享到:
相关推荐
本压缩包文件"创建XMLHttpRequest对象的方法.rar"包含了一份关于如何创建XMLHttpRequest对象的详细教程,其核心内容可以从以下几个方面来理解: 1. **XMLHttpRequest对象的创建** 在JavaScript中,XMLHttpRequest...
XMLHttpRequest(XHR)是Web开发中的一个关键技术,它允许JavaScript在不刷新整个页面的情况下与服务器进行异步数据交换,这就是我们常说的AJAX(Asynchronous JavaScript and XML)。本压缩包包含了一些...
这个对象提供了与服务器交互的一系列方法和属性。 3. **请求的生命周期**:XMLHttpRequest有四个主要状态,通过`readyState`属性表示: - 0 (UNSENT):对象已创建,但`open()`方法尚未被调用。 - 1 (OPENED):`...
本文档将详细介绍XMLHttpRequest对象的基本知识、属性和方法,并演示如何使用它来进行简单的请求与处理。 #### 二、XMLHttpRequest对象的历史与现状 XMLHttpRequest对象最初由微软公司在Internet Explorer中引入,...
它有几个重要的属性和方法,其中readyState属性描述了请求的当前状态,共有五个阶段(0-4),分别对应请求的不同阶段,如未初始化、发送、接收中和已完成。当readyState发生变化时,会触发onreadystatechange事件,...
XMLHttpRequest对象是浏览器提供的API,它主要包含以下几个核心方法: 1. **open()**: 这个方法用于初始化请求。你需要指定请求类型(GET、POST等)、URL以及是否异步执行。例如:`xhr.open('GET', '...
这个方法接受几个参数,包括请求类型(如GET或POST)、URL、以及异步标志(默认为异步)。例如,`xmlhttp.open("GET", "http://localhost/example.htm", false)`将发起一个同步GET请求到指定的URL。 3. **发送数据*...
XMLHttpRequest的使用主要涉及以下几个步骤: 1. 创建实例:在JavaScript中,可以通过`new XMLHttpRequest()`来创建一个XHR对象。 2. 配置请求:设置HTTP方法(GET或POST)、URL、是否异步执行等,例如`xhr.open('...
为了处理服务器的响应,我们需要定义几个事件监听器,如`onreadystatechange`和`onerror`。`onreadystatechange`会在请求状态改变时被调用,而`onerror`用于处理错误。 ```javascript xhr.onreadystatechange = ...
XHR对象有几个关键的事件,如`onreadystatechange`、`onload`、`onerror`和`ontimeout`,它们可以帮助开发者跟踪请求的状态和处理结果。`onreadystatechange`是最常用的,当请求状态改变时触发,通常在`readyState`...
2. XMLHttpRequest对象的属性和事件 - readyState属性:表示请求的当前状态,从0(未初始化)到4(完成)。当状态改变时,会触发onreadystatechange事件。 - status属性:返回HTTP状态码,如200表示成功,404表示找...
在AjaxXMLHttpRequest_Demo02.zip中,我们可能会看到以下几个关键组成部分: 1. **HTML文件**:通常命名为index.html,它是用户界面的基础,包含用户交互的元素,如按钮、输入框等。当用户触发某个事件(如点击按钮...
基本流程包括以下几个步骤: 1. **初始化请求**:通过`open()`方法设置请求类型(GET、POST等)、URL以及是否异步执行。 2. **设置请求头**:如果需要,可以通过`setRequestHeader()`方法设置HTTP头信息。 3. **...
通过结合使用这些属性和方法,开发者可以构建出功能强大且灵活的异步数据交互系统,极大地提升了Web应用的用户体验和性能。 总之,《XMLHttpRequest中文参考手册(7)》围绕着XMLHttpRequest对象的使用进行了详尽的...
`window.XMLHttpRequest` 作为 `window` 对象的一个属性,提供了一种在客户端与服务器进行异步通信的方式。这在 Web 开发中极为重要,因为它使得网页可以在不重新加载整个页面的情况下,通过 JavaScript 代码请求、...