ajax中这段请求http状态码status状态代码出错,求大神!!

AJAX请求时status状态返回状态明细表 readyState的五種状态 18:24对于readyState的五种状态的描述或者说定义很多Ajax书(英文原版)中大都语焉不详

比较理想的解释方法应该以“状态:任务(目标)+过程+表現(或特征)”的表达模式来对这几个状态进行定义

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

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

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

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

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

(XMLHttpRequest)对象已經创建但尚未初始化(还没有调用open方法)。

已经调用send方法(HTTP响应)状态及头部还不可用。

已经接收部分数据但若在此时调用responseBody和responseText属性獲取部分结果将会产生错误,因为状态和响应头部还不完全可用

已经接收到了全部数据,并且在responseBody和responseText属性中可以提取到完整的数据

》比較到位,因为它提到了对接收到的数据的解析问题其他书中都没有提到这一点,而这一点正是“(3)交互”阶段作为一个必要的转换过程存茬于“(2)载入完成”到“(4)完成”之间的理由也就是其任务是什么。归结起来我觉得比较理想的解释方法应该以“状态:任务(目标)+过程+表现(或特征)”表达模式来对这几个状态进行定义比较准确,而且让人容易理解现试总结如下:

此阶段确认XMLHttpRequest对象是否创建,并为调鼡open()方法进行未初始化作好准备值为0表示对象已经存在,否则浏览器会报错--对象不存在

此阶段对XMLHttpRequest对象进行初始化,即调用open()方法根據参数(method,url,true)完成对象状态的设置。并调用send()方法开始向服务端发送请求值为1表示正在向服务端发送请求。

此阶段接收服务器端的响应数据但獲得的还只是服务端响应的原始数据,并不能直接在客户端使用值为2表示已经接收完全部响应数据。并为下一阶段对数据解析作好准备

此阶段解析接收到的服务器端响应数据。即根据服务器端响应头部返回的MIME类型把数据转换成能通过responseBody、responseText或responseXML属性存取的格式为在客户端调鼡作好准备。状态3表示正在解析数据

此阶段确认全部数据都已经解析为客户端可用的格式,解析已经完成值为4表示数据解析完毕,可鉯通过XMLHttpRequest对象的相应属性取得数据

概而括之,整个XMLHttpRequest对象的生命周期应该包含如下阶段:

创建-初始化请求-发送请求-接收数据-解析数據-完成

在具体应用中明确了readyState的五个状态(XMLHttpRequest对象的生命周期各个阶段)的含义,就可以消除对Ajax核心的神秘感(语焉不详的背后要么是故弄玄虚制造神秘感;要么就是“以其昏昏,使人昭昭”)迅速把握其实质,对减少学习中的挫折感和增强自信心都极其有益

       AJAX中请求遠端文件、或在检测远端文件是否掉链时,都需要了解到远端服务器反馈的状态以确定文件的存在与否

当然,在我们平常浏览网页时吔会发现一些文件不存在时显示为“404错误”,这就是常见的Http请求状态(status状态)

Web服务器响应浏览器或其他客户程序的请求时其应答一般由鉯下几个部分组成:一个状态行,几个应答头一个空行,内容文档下面是一个最简单的应答:

状态行包含HTTP版本、状态代码、与状态代碼对应的简短说明信息。在大多数情况下除了Content-Type之外的所有应答头都是可选的。但Content-Type是必需的它描述的是后面文档的MIME类型。虽然大多数应答都包含一个文档但也有一些不包含,例如对HEAD请求的应答永远不会附带文档有许多状态代码实际上用来标识一次失败的请求,这些应答也不包含文档(或只包含一个简短的错误信息说明)

当用户试图通过 HTTP 访问一台正在运行 Internet 信息服务 (IIS) 的服务器上的内容时,IIS 返回一个表示該请求的状态的数字代码状态代码可以指明具体请求是否已成功,还可以揭示请求失败的确切原因

        客户端浏览器必须采取更多操作来實现请求。例如浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求

Temporatily”。出现该状态代码时浏览器能够自動访问新的URL,因此它是一个很有用的状态代码注意这个状态代码有时候可以和301替换使用。例如如果浏览器错误地请求 http://host/~user (缺少了后面的斜杠),有的服务器返回301有的则返回302。严格地说我们只能假定只有当原来的请求是GET时浏览器才会自动重定向。请参见307

1.1新增了307,以便哽加清除地区分几个状态代码:当出现303应答时浏览器可以跟随重定向的GET和POST请求;如果是307应答,则浏览器只能跟随对GET请求的重定向(HTTP 1.1新)

        发生错误,客户端似乎有问题例如,客户端请求不存在的页面客户端未提供有效的身份验证信息。

错误它们指明更为具体的错误原因。这些具体的错误代码在浏览器中显示但不在 IIS 日志中显示:

        · 403 - Forbidden 资源不可用。服务器理解客户的请求但拒绝处理它。通常由于服务器上文件或目录的权限设置导致禁止访问:IIS 定义了许多不同的 403 错误,它们指明更为具体的错误原因:

        · 410 - Gone 所请求的文档已经不再可用而苴服务器不知道应该重定向到哪一个地址。它和404的不同在于返回407表示文档永久地离开了指定的位置,而404表示由于未知的原因文档不可用(HTTP 1.1新)

}

我要回帖

更多关于 status状态 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信