AJax 学习笔记二(onreadystatechange的作用)

2016-02-19 10:39 10 1 收藏

下面这个AJax 学习笔记二(onreadystatechange的作用)教程由图老师小编精心推荐选出,过程简单易学超容易上手,喜欢就要赶紧get起来哦!

【 tulaoshi.com - Web开发 】

当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了onreadyStateChange事件实现这一功能。这类似于回调函数的做法。onreadyStateChange事件可指定一个事件处理函数来处理XMLHttpRequest对象的执行结果,如:
代码如下:

ajaxObj=createAjaxObject();
var url="/MyTodoes/FetchText?id="+id;
ajaxObj.open("Get",url,true);
ajaxObj.onreadyStateChange=changeTabCallBack;
ajaxObj.send(null);


看了W3C上的详解,再看看这个例子,更好理解了。

  onreadyStateChange事件是在readyState属性发生改变时触发的,readyState的值表示了当前请求的状态,在事件处理程序中可以根据这个值来进行不同的处理。 readyState有五种可取值0:尚未初始化,1:正在加载,2:加载完毕,3:正在处理;4:处理完毕。一旦readyState属性的值变成了4,就可以从服务器返回的响应数据进行访问了。
通常在事件中判断readyState的值是在请求完毕时才做处理,如:
代码如下:

function changeTabCallBack(){
if(ajaxObj.readyState==4){
// 下一步验证
}
}


  Status存储了服务器端返回的Http请求响应代码,它表示请求的处理结果,常见响应代码的含义如右。
在Ajax开发中,最常用就是200这个响应码,代码如下
代码如下:

function changeTabCallBack(){
if(ajaxObj.readyState==4){
if(ajaxObj.status==200){
// 服务端返回了正确数据,开始响应处理
}
}
}


Http状态码 含义
200 请求成功
202 请求被接受但处理未完成
400 错误请求
404 请求资源未找到
500 内部服务器错误

来源:http://www.tulaoshi.com/n/20160219/1595384.html

延伸阅读
现在学的是delphi 的类,原D7的类我不就不记了,记下与D7不同的地方 a.class abstract 纯虚类,不能实例化的类 type TAbstractClass = class abstract procedure SomeProcedure;end; 以前的做法是在 procedure 的后面与 abstract ,现在只移类的说明上,只是意思一样,就是直观点少打字 呵呵. b.class sealed 这个...
标签: Web开发
代码如下: !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xmlns="http://www.w3.org/1999/xhtml" head meta http-equiv="Content-Type" content="text/html; charset=utf-8" / title无标题文档/title script src="js/jquery-1.3.2.js" /script sc...
标签: Web开发
现在浏览器端以 javascript 为核心,基于各种 Web 标准(即:早已完成标准化的XHTML/CSS/DOM/XML/XSLT 和正在进行标准化的XMLHTTP)的技术正在加速整合,Ajax 就是这一系列技术的一个统称。 虽然网络上已经有大量的相关资源,但是为了打好基础,认真读上几本书还是很有必要的。 好在 Ajax 并不是什么全新的技术,它仅仅是传统技术的发展和增值,...
标签: Web开发
Ajax篇 XMLDocument和XMLHttpRequest对象 第一:创建XMLHttpRequest请求对象 代码如下: function getXMLHttpRequest() { var xRequest=null; if(window.XMLHttpRequest) { xRequest=new XMLHttpRequest(); }else if(typeof ActiveXObject != "undefined"){ xRequest=new ActiveXObject("Microsoft.XMLHTTP"); } return xRequest...
标签: PHP
基本语法 所有的smarty标签都被加上了定界符.在smarty里,所有定界符以外的内容都是静态的,当smarty遇到了模板标签,将尝试解释他们,然后再以恰当的方式输出. 默认情况下是 {和},但它们是可定制的.定制方法是: $smarty-left_delimiter = '<!--{'; $smarty-right_delimiter = '}--'; 1.注释 模板注释被*号包围,例如 {*...

经验教程

56

收藏

37
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部