一旦脚本调用了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属性会返回一个字符串,代表从服务器上取回的数据。

最新文章

  1. wireshark 相关提示
  2. IP地址的分类
  3. http cookie相关
  4. declaration expected but identifier 'firedac' found
  5. python核心编程学习记录之模块
  6. WCF 采用net.tcp协议实践
  7. pgsql与mysql 下 varchar类型的数字文本的排序 区别
  8. C#进程启动实例
  9. oracle时间戳转换
  10. AngularJS中serivce,factory,provider的区别
  11. Demo 示例控制输入光标位置
  12. Linux rpm 命令参数使用详解[介绍和应用](转)
  13. .NET 基础 一步步 一幕幕[面向对象之堆、栈、引用类型、值类型]
  14. Cassandra 单机入门例子——有索引
  15. git团队合作开发流程
  16. spring boot 集成 Redis
  17. 现代 PHP 新特性 —— Zend Opcache (转)
  18. 【ASP.NET MVC系列】浅谈ASP.NET MVC 路由
  19. SqlServer 技术点总结(持续更新)
  20. h5页面 内嵌h5页面遇到的问题

热门文章

  1. 写给自己的Java程序员学习路线图_转载
  2. springMVC学习笔记_转载(一)-----springMVC原理
  3. 3、Go Exit
  4. Windows7 安装ubuntu双系统
  5. NodeJS学习笔记 进阶 (1)Nodejs进阶:服务端字符编解码&乱码处理(ok)
  6. clear---清除当前屏幕
  7. HttpService解析
  8. Android旋转屏幕后国际化语言失效的解决的方法
  9. 对spring默认的单列模式的理解
  10. Connect the Campus (Uva 10397 Prim || Kruskal + 并查集)