Javascriptajax的5种状态
在语用ajax(动态网站静态)Web 2引物的机会看到的readystae状态,感觉很实用,摘录如下:0(未初始化)发送()方法还没有被调用。
1:(加载)已发送调用()方法,正在进行请求。
2:(加载)发送()方法已经完成,接收到整个响应。
3:(交互)响应正在解析中。
4:(完成)响应已解析,准备收割。
0(未初始化)也不叫发()方法
1(加载)调用发送()方法是发送请求
2(加载)(发送)方法完成后,已收到所有响应内容
3(交互)响应正在被解析。
4(完全响应)内容分析完成,客户机调用
对于国家发生的五种,其他的书都是模糊的。像基础Ajax(动态网页静态化)和ajax(动态网站静态)在行动似乎并没有提及这5个州的细节在所有。专业的AJAX(静态网站静态)不满意,但它仍然是可用的。
readyState有五种可能的值:
0(未初始化):对象已经创建,但还没有开放()方法
1(加载):已调用开放()方法,但请求尚未完成。
2(加载):请求已发送。
3(互动)已收到部分答复。
4(完整):所有数据都已收到,连接已关闭。
readyState有五个可能的值:
0(未初始化):(XML(标准接近)HttpRequest)对象已经创建,但还没有调用open()方法。
1(加载):已调用开放()方法,但请求尚未发送。
2(加载完成):请求已发送。
3(交互):可以接收响应数据的一部分。
4(完成):所有数据都已收到,连接已关闭。
在理解Ajax(动态Web站点静态)中:使用Javascript创建富Internet应用程序
readyState状态代码
XML的状态(标准化越来越近)HttpRequest对象
(0)初始化
未初始化的对象已经创建,但未初始化。(Open方法有)
(xml(标准化越来越近)HttpRequest)对象已经创建,但它尚未初始化(不叫开法)。
(1)加载
加载已创建对象,但发送方法未被加载
(xml(标准化越来越近)HttpRequest)对象已经创建,但尚未调用send方法。
(2)加载
已调用加载发送方法,但状态和头是
发送方法被调用,HTTP响应状态和头部不可用。
(3)交互
已收到某些数据的交互。调用responsebody和responseText属性,并且,和其他的两个是以下几方面。
数据的一部分已收到。但如果你叫responsebody和responseText属性在此时得到结果的一部分,会有一个错误,因为状态和响应头不完全可用。
(4)完成
完成所有已接收的数据,并提供完整的数据。
所有的数据都已经接收到完整的数据可以提取的responsebody和responseText属性。
根据五个州以上发生的几本书,我认为这是务实的ajax(动态网站静态)Web 2引物的地方,因为它是指接收的数据的分析,其他的书都没有提到这一点,这是(3)互动阶段为必要的过渡,在(2)到(4)负载之间的原因,即任务是什么。总之,我认为理想的解释方法,应当由国家定义:任务(目标)+过程+表达(或特征),这是更准确和容易理解。本试验总结如下:
readyState状态描述
(0)初始化
本期确认的xml(标准化越来越近)是HttpRequest对象创建和准备调用打开非初始化()方法,值0表示的对象已经存在,否则浏览器会错误的对象不存在。
(1)加载
在这个阶段,初始化XML(标准化越来越接近)HttpRequest对象,即调用open()方法,并设置对象的状态,根据参数(方法,URL,true),调用send()开始向服务器发送请求的值为1表示方法。该请求被发送到服务器。
(2)装货完毕
这个阶段从服务器端接收响应数据,但它只是服务器响应的原始数据,不能直接在客户端使用,2的值表示已经接收到所有响应数据,并准备下一阶段的数据解析。
(3)交互作用
这相位解析接收服务器端的响应数据,根据标题服务器响应返回的MIME类型,可以将数据转换为格式,可以通过responsebody,responseText和responseXML之外,它越来越接近标准化。它已经准备好调用客户机了。状态3表示数据正在被解析。
(4)完成
本期确认所有数据被输入到客户端的可用的格式,并分析已经完成。4值表示数据解析,数据可以通过XML相应的属性(标准化越来越得到)HttpRequest对象。
总之,整个xml(标准化越来越近)的HttpRequest对象的生命周期包括以下几个阶段:
创建-初始化请求-发送请求-接收数据-解析数据-完成
在具体的应用中,五个国家发生(XML(标准接近)的HttpRequest对象生命周期的所有阶段)的意义,你可以消除ajax(动态网站静态)神秘的核心(或非常模糊,在得到神秘,神秘或制造;在黑暗中,人们可见),迅速把握本质,减少学习挫折和自信心的提升是非常有用的。
例如,通过以下示例:
复制代码代码如下所示:
声明一个数组
Var初始化…,
请求被初始化成功 uff01…
请求正在发送中…,
成功uff01
正在接收数据…,
完成它!
数据正在被解析…,
完成它!
};
回调函数/内部代码片断
如果(xml(标准化越来越近)HTTP。发生= 4)
{
var = document.createelement跨度(跨度);
span.innerhtml =状态{ XML(标准化越来越近)HTTP readyState };
document.body.appendchild(跨度);
如果(XML(标准接近)http.status = = 200)
{
VaR的XML(标准化越来越近)=(标准化的XML文档越来越近)http.responsexml(标准化越来越近);
其他代码
}
不要忘记/销毁,以防止内存泄漏。
XML(标准化越来越接近);
其他{ }
var = document.createelement跨度(跨度);
span.innerhtml =状态{ XML(标准化越来越近)HTTP readyState };
document.body.appendchild(跨度);
}结果如下:
请求被初始化成功 uff01…
请求被发送成功uff01…
正在接收数据…完成它!
正在解析数据…完成它!
很容易理解xml(标准化越来越靠近)HttpRequest对象是在各个阶段做的。作为一个结果,很容易有一个非常简单的Ajax的核心部分的理解(动态网站静态)。