`
hibernater
  • 浏览: 137273 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

AJAX readystate

阅读更多

readyState的五种状态
对于readyState的五种状态的描述或者说定义,很多Ajax书(英文原版)中大都语焉不详
在《Pragmatic Ajax A Web 2.0 Primer 》中偶然看到对readyStae状态的介绍,感觉这个介绍很实在……
比较理想的解释方法应该以“状态:任务(目标)+过程+表现(或特征)”的表达模式来对这几个状态进行定义

【全文】
在《Pragmatic Ajax A Web 2.0 Primer 》中偶然看到对readyStae状态的介绍,感觉这个介绍很实在,摘译如下:


0: (Uninitialized) the send( ) method has not yet been invoked.
1: (Loading) the send( ) method has been invoked, request in progress.
2: (Loaded) the send( ) method has completed, entire response received.
3: (Interactive) the response is being parsed.
4: (Completed) the response has been parsed, is ready for harvesting.

0 - (未初始化)还没有调用send()方法
1 - (载入)已调用send()方法,正在发送请求
2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
3 - (交互)正在解析响应内容
4 - (完成)响应内容解析完成,可以在客户端调用了

对 于readyState的这五种状态,其他书中大都语焉不详。像《Foundations of Ajax》中,只在书中的表2-2简单地列举了状态的“名称”--The state of the request. The five possible values are 0 = uninitialized, 1 = loading, 2 = loaded, 3 = interactive, and 4 = complete。而《Ajax in Action》中好像根本就没有提到这5种状态的细节。《Professional Ajax》中虽不尽人意,但还是有可取之处:

There are five possible values for readyState:
0 (Uninitialized): The object has been created but the open() method hasn't been called.
1 (Loading): The open() method has been called but the request hasn't been sent.
2 (Loaded): The request has been sent.
3 (Interactive). A partial response has been received.
4 (Complete): All data has been received and the connection has been closed.

readyState有五种可能的值:
0 (未初始化): (XMLHttpRequest)对象已经创建,但还没有调用open()方法。
1 (载入):已经调用open() 方法,但尚未发送请求。
2 (载入完成): 请求已经发送完成。
3 (交互):可以接收到部分响应数据。
4 (完成):已经接收到了全部数据,并且连接已经关闭。
分享到:
评论

相关推荐

    Ajax-jquery-ajaxreadystate.zip

    Ajax-jquery-ajaxreadystate.zip,jquery ajaxreadystate插件,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不重新加载网页...

    ajax readyState的五种状态详解

    在AJAX的核心组件XMLHttpRequest(XHR)对象中,`readyState`属性是监控请求状态的关键。以下是关于AJAX `readyState`五种状态的详细解释: 1. **未初始化 (0)**: 这是`XMLHttpRequest`对象创建后的初始状态。在这...

    Ajax教程中readyState

    理解`readyState`的变化有助于在Ajax请求的生命周期中实施适当的逻辑。例如,开发者通常会在`readystatechange`事件中检查`readyState`,当状态变为4(完成)且`status`为200(表示请求成功)时,执行处理响应数据的...

    jQuery AJAX中readyState与status的区别与联系

    在探讨jQuery AJAX技术时,两个重要的属性是readyState和status。它们在异步请求中扮演了重要角色,但它们各自的含义和使用场景有所不同。通过理解两者的区别与联系,可以更好地管理AJAX请求的生命周期,以及响应...

    jQuery Ajax的readyState和status的区别和使用详解

    在前几篇分析了jquery的ajax异步和同步,以及异常的一些处理,感觉还没有把ajax的readyState和status说清楚.今天就来说说ajax状态的那点事,非常不错,对ajax readystate和status区别和使用感兴趣的朋友一起学习吧

    ajax ajax原理 ajax代码 ajax编程 ajax学习

    **Ajax(Asynchronous JavaScript and XML)技术是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新,提升了用户体验。Ajax的核心是...

    Ajax Ajax本质 Ajax本质源码

    开发者可以注册这些事件的回调函数,以便在合适的时候执行相应的操作,例如检查readyState和status属性,确定请求的状态和成功与否。 3. **服务器响应**:服务器接收到请求后,处理请求并返回数据,通常是XML、JSON...

    Ajax简介Ajax.API

    Ajax 简介和 Ajax API Ajax 简介 Ajax 是“Asynchronous JavaScript and XML”(异步 JavaScript 和 XML)的缩写词,但事实上,Ajax 并非缩写词,而是由 Jesse James Gaiett 创造的名词。Ajax 是一种创建交互式...

    AjaxRequest(Ajax使用包)

    if (xhr.readyState === 4 && xhr.status === 200) { // 请求成功,处理返回的数据 var data = JSON.parse(xhr.responseText); // 更新页面 updatePage(data); } }; ``` 5. **错误处理**: 可以设置`onerror...

    ajax教程

    - **接收响应**:通过监听`onreadystatechange`事件,当`readyState`属性变为4(表示请求已完成)且`status`为200(表示成功)时,读取`responseText`或`responseXML`获取响应数据。 **3. 数据格式** 虽然名字中有...

    ajax demo ajax实例

    if (xhr.readyState === 4 && xhr.status === 200) { // 处理成功返回的数据 } }; ``` 4. **发送请求**:使用`send()`方法发送请求。对于GET请求,直接调用`send()`即可;对于POST请求,需要传入数据。 ```...

    ajax 纯JavaScript demo ajax示例

    **Ajax(Asynchronous JavaScript and XML)**是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。这种技术的核心在于JavaScript,允许...

    14ajax课程_AJAX基础_

    **AJAX基础详解** 在现代Web开发中,AJAX(Asynchronous JavaScript and XML)是一种核心技术,它使得网页能够实现异步数据交换,无需刷新整个页面即可更新部分内容。本教程将深入探讨AJAX的基础知识,帮助你理解其...

    简单Ajax实例AjaxSample

    Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。这个简单的Ajax实例“AjaxSample”旨在演示如何通过JavaScript实现异步数据交换,从而提升用户体验,减少...

    AjaxJson 实例 AjaxJson

    AjaxJson 是一种在 Web 应用程序中实现异步数据交换的技术,它结合了 AJAX(Asynchronous JavaScript and XML)和 JSON(JavaScript Object Notation)的优势,使得网页可以在不刷新整个页面的情况下与服务器进行...

    超轻量级的Ajax库-ajax.js

    主要关注`readyState`属性值为4(表示请求已完成)且`status`属性值为200(表示请求成功)的情况。 - **处理响应**:获取服务器返回的数据,可能是XML、JSON或其他格式,根据需求进行解析并应用到页面上。 **2. ...

    ajax使用简单demo

    if (xhr.readyState === 4 && xhr.status === 200) { // 处理响应数据 var data = xhr.responseText; document.getElementById('result').innerHTML = data; // 假设存在id为'result'的元素 } }; // 初始化...

Global site tag (gtag.js) - Google Analytics