ajax处理响应(三)
2024-10-01 18:16:54
一旦脚本调用了send方法,浏览器就会在后台发送请求到浏览器。因为请求是在后台处理的,所以Ajax依靠事件来通知你这个请求的进度的进展情况,在上个随笔的里,使用handleResponse函数处理这些事件:
function handleResponse(e){
if(e.target.readyState==XMLHttpRequest.DONE&&e.target.status==200){
document.getElementById("target").innerHTML=e.target.responseText;
}
}
当readystatechange事件被触发后,浏览器会把一个Event对象传递给指定的处理函数。这个event对象的target属性则会被设为与此事件关联的XMLHttpRequest。多个不同阶段会通过readystatechange事件作为传递信号,你可以读取XMLHttpRequest,readyState属性的值来确定当前处理的是哪一个。下表展示了这个属性的各个值。
XMLHttpRequest readyState属性值
值 | 数值 | 说明 |
---|---|---|
UNSENT | 0 | 已创建XMLHttpRequest对象 |
OPENED | 1 | 已调用open方法 |
HEADERS_RECEIVED | 2 | 已收到服务器响应的标头 |
LOADING | 3 | 已收到服务器响应 |
DONE | 4 | 响应完成或已失败 |
DONE状态并不意味着请求成功,它只代表请求已经完成。可以通过status属性获得HTTP状态码,它会返回一个数值(比如200代表成功)。只有结合readyState和status属性的值才能够确定响应的请求的结果。只有当readyState的值为DONE并且status的值为200时用XMLHttpRequest.responseText属性获得服务器发送的数据,就如 document.getElementById("target").innerHTML=e.target.responseText;responseText属性会返回一个字符串,代表从服务器上取回的数据。
最新文章
- wireshark 相关提示
- IP地址的分类
- http cookie相关
- declaration expected but identifier 'firedac' found
- python核心编程学习记录之模块
- WCF 采用net.tcp协议实践
- pgsql与mysql 下 varchar类型的数字文本的排序 区别
- C#进程启动实例
- oracle时间戳转换
- AngularJS中serivce,factory,provider的区别
- Demo 示例控制输入光标位置
- Linux rpm 命令参数使用详解[介绍和应用](转)
- .NET 基础 一步步 一幕幕[面向对象之堆、栈、引用类型、值类型]
- Cassandra 单机入门例子——有索引
- git团队合作开发流程
- spring boot 集成 Redis
- 现代 PHP 新特性 —— Zend Opcache (转)
- 【ASP.NET MVC系列】浅谈ASP.NET MVC 路由
- SqlServer 技术点总结(持续更新)
- h5页面 内嵌h5页面遇到的问题
热门文章
- 写给自己的Java程序员学习路线图_转载
- springMVC学习笔记_转载(一)-----springMVC原理
- 3、Go Exit
- Windows7 安装ubuntu双系统
- NodeJS学习笔记 进阶 (1)Nodejs进阶:服务端字符编解码&;乱码处理(ok)
- clear---清除当前屏幕
- HttpService解析
- Android旋转屏幕后国际化语言失效的解决的方法
- 对spring默认的单列模式的理解
- Connect the Campus (Uva 10397 Prim || Kruskal + 并查集)