JQuery jQuey Ajax- 响应状态

本文详细介绍了AJAX的响应状态,包括XMLHttpRequest对象的readyState属性和HTTP状态码,强调了在异步通信中通过onreadystatechange事件处理函数跟踪状态的重要性。同时,jQuery对AJAX响应状态进行了封装,提供了6个响应事件,便于更细致地跟踪请求响应过程。
摘要由CSDN通过智能技术生成

这里写目录标题

6.2.5 响应状态

       异步通信实际上就是不需要刷新的暗部通信方式, 这种方式虽然存在很多优势 , 但是却无法让人直观了解通信的过程和状态。 为了避免客户端被动的等待, XMLHttpRequest 对象定义了 readyState 属性, 该属性可以动态跟踪异步通信的状态。 readyState 属性值说明如表 6.5 所示。

在这里插入图片描述

       在异步通信过程中, 一旦请求和响应的状态发生变化, 也就是说当 readyState 属性值发生变化时, 就会触发 onreadystatechange 事件处理函数。

       readystatechange 是一种特殊的事件类型, 它与 HTTP 传输紧密相关联。 每当 HTTP 请求状态改变时,服务器都会回调客户端的 onreadystatechange 事件处理函数。如果 readyState 属性返回值为 4, 则说明异步请求和响应完毕, 那么就可以放心地读取返回的数据了。

       虽然通过 readyState 属性可以确定响应是否完成, 但是还存在另一个问题: 如果服务器完成响应请求,但是报告了一个错误, 此时如果读取响应信息, 也容易发生错误。 为了防止此类意外 , 还应坚待 HTTP 通信状态。 只有当状态码为 200 时, 才表示服务器正确完成响应处理。在 XMLHttpRequest 对象中可以借助 status属性获取当前的 HTTP 状态码。

       例如 , 定义一个回调函数, 检测服务器是否已正确完成响应, 然后决定是否读取响应信息。 实现的代码如下:

function response(){
    
     if(xmlhttprequest.readyState == 4){
   

     if (xmlhttprequest.status == 200 || xmlhttprequest.status == O
          alert(xmlhttpreq uest. response Text);

     }
   }
}

       然后, 绑定 onreadystatechange 事件处理函数(以 6.2.3 节示例为基础进行演示操作):

<script type="text/javascript"> 
//省略定义XMLHttpRequest对象
window.onload 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值