readystate(readyState属性)

http://www.itjxue.com  2023-02-18 09:41  来源:未知  点击次数: 

jquery ajax的readyState和status的区别和使用

readyState表示XMLHttpRequest对象的处理状态:

0:XMLHttpRequest对象还没有完成初始化。(准备司机、车、货物)

1:XMLHttpRequest对象开始发送请求。(需要送十车货物,当前正在送第几车)

2:XMLHttpRequest对象的请求发送完成。(十车货送完毕)

3:XMLHttpRequest对象开始读取服务器的响应。(准备把这十车加工的货拉回来,当前第几车)

4:XMLHttpRequest对象读取服务器响应结束。(十车货全部拉回完毕)

status状态:

1xx:信息响应类,表示接收到请求并且继续处理。(所有拉去的货,工厂还没有加工完毕)

2xx:处理成功响应类,表示动作被成功接收、理解和接受。。(所有拉去的货工厂全部加工完毕)

3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理 。(所有拉去的货,工厂设备不够,让其他工厂帮忙加工)

4xx:客户端错误,客户请求包含语法错误或者是不能正确执行 。(这十车货有质量问题,工厂不能正常加工)

5xx:服务端错误,服务器不能正确执行一个正确的请求。(工厂在加工到一半过程中断电,不能继续加工)

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

readyState是指ajax对象本身的状态,0表示尚未开始发送,1表示已发送,2表示已接收数据,3表示正在解析数据,4表示解析完成;

status则是网页服务器发给ajax的状态码,200表示网页是完全正常的,301表示网页是中途发生跳转的(也就是说收到的网页内容不是最初请求的那个网址的),著名的404则表示网页文件不存在,500则表示服务器发生错误,等等。

如果readyState等于4而且status等于200,则表示本次ajax请求是完全正确无误的。

ajax中的readyState的问题

不是很明白你的意思

Ajax readyState的五种状

0 - (未初始化)还没有调用send()方法

1 - (载入)已调用send()方法,正在发送请求

2 - (载入完成)send()方法执行完成,已经接收到全部响应内容

3 - (交互)正在解析响应内容

4 - (完成)响应内容解析完成,可以在客户端调用了

既然你都返回4了。表明已经返回成功了。你可以尝试在你的当前页面写

document.getElementById("abc").innerHTML = xmlhttp.responseText;

双引号的是你的一个id名称。比如有个div是id="abc"。

xmlhttp是XMLHttpRequest的一个对象。看看你调用了后你的页面有没有多出一些返回的文字什么的

xmlhttprequest对象的readystate与status的几种状态码 什么作用

XMLHttpRequest对象的readyState与status的几种状态码表示的意思:

readyState有五种状态:

0 (未初始化): (XMLHttpRequest)对象已经创建,但还没有调用open()方法;

1 (载入):已经调用open() 方法,但尚未发送请求;

2 (载入完成): 请求已经发送完成;

3 (交互):可以接收到部分响应数据;

4 (完成):已经接收到了全部数据,并且连接已经关闭。

status实际是一种辅状态判断,只是status更多是服务器方的状态判断。

关于status,由于它的状态有几十种,我只列出平时常用的几种:

1xx——信息类,表示收到Web浏览器请求,正在进一步的处理中。如,100:客户必须继续发出请求;101:客户要求服务器根据请求转换HTTP协议版本

2xx——成功,表示用户请求被正确接收,理解和处理。例如,200:OK;201:提示知道新文件的URL

3xx——重定向,表示请求没有成功,客户必须采取进一步的动作。如,300:请求的资源可在多处得到;301:删除请求数据

4xx——客户端错误,表示客户端提交的请求有错误。如,404:NOT Found,意味着请求中所引用的文档不存在。

5xx——服务器错误,表示服务器不能完成对请求的处理。如,500,服务器产生内部错误

readystate有几个状态

包含 5 种可能的值,对应常数表如下:

0 WebBrowserReadyState.UnInitialized(未初始化,默认): WebBrowser 对象已经创建,但不包含文档。

1 WebBrowserReadyState.Loading(载入):已经导航到新的文档,但尚未发送请求。

2 WebBrowserReadyState.Loaded(载入完成): 请求已经发送完成。

3 WebBrowserReadyState.Interactive(交互):可以接收到部分响应数据。

4 WebBrowserReadyState.Complete(完成):已经接收到了全部数据,并且连接已经关闭。

上面的常量是包含在 System.Windows.Forms 命名空间下的,这个命名空间是默认声明好的。

其实如果是判断网页是否加载完成,应该用 WebBrowser 的 DocumentCompleted 事件来判断。

用 ReadyState 也可以吧,加个 Timer 反复判断它的值就好。

IfWebBrowser1.ReadyState=4Then'4也可以写成WebBrowserReadyState.Complete

Msgbox("加载完毕")

EndIf

(责任编辑:IT教学网)

更多

推荐程序员考试文章