辟邪剑谱之Ajax
- 1、AJAX包含以下五个部分
- (1)基于标准的表示技术,使用XHTML与CSS
- (2)动态显示和交互技术,使用Document Object Model(文档对象模型)
- (3)数据互换和操作技术,使用XML和XSLT
- (4)异步数据获取技术使用XMLHttpRequest
- (5)而JavaScript将以上的一切结合在一起
- 2、var xmlHttp=new ActiveXObject("Msxm2.XMLHTTP"); 定义了一个XMLHhttpRequest对象xmlHttp
- XMLHhttpRequest对象有五个状态 :
- (1)xmlHttp.readyState==0 未初始化 对象已创建,尚未来调用open()
- (2)xmlHttp.readyState==1 已初始化 调用open()方法以后
- (3)xmlHttp.readyState==2 已经发送数据 调用send()方法以后
- (4)xmlHttp.readyState==3 数据传送中 在已经接到部分数据,但尚未接收完毕
- (5)xmlHttp.raadyState==4 完成 数据全部接受完成
- 3、Ajax五状态 指定自动处理函数
- xmlHttp.onreadystatechange function(){
- if(xmlHttp.readyState==3){
- '不急';
- }
- if(xmlHttp.readyState==4)
- alert(xmlHttp.responseText);
- }
- }
- 4、xmlHttp.status==200 代表服务器端返回的是正确的结果,这样才能正确的解析XML
- 5、XMLHttpRequest在顺利读取了数据之后,我们其实可以有四种方法得到数据
- (1)xmlHttp.responseText 将响应信息作为字符串返回
- (2)responseXML 将响应信息格式化为XMLDOM对象并返回
- (3)responseBody 将响应信息以unsigned byte数组形式返回
- (4)responseStream 将响应信息以IStream对象的形式返回
- 只需了解 responseText responseXML 两种就够了
- 6、responseXML 得到XMLDOM树
- 7、XMLDOM树其实就是内存中的一个树,一个XML数据中的每一个<>代表一个节点。比如:
- <rss>
- <chanel/>
- </rss>
- <chanel/>不包含子节点 而rss包含子节点channel rss是父节点 根节点 顶层节点
- 8、documentElement它能得到一个XML DOM树的根节点组 例:<xml></xml>
- 例: var channel=xmldom.documentElement.childNodes.item(0);
- var itemlist=channel.childNodes; //得到根节点组
- 9、childNodes与item 这样就能够得到一个节点的所有子节点,以一个数组的形式返回
- 例:var childs=node.childNodes;
- alert(childs.length);
- var itemnode=childs.item(0);
- 10、tagName:可以获得一个节点的名称。<rss>的tagName自然是rss
- 例如:if(node.tagName=="title")
- 11、text:就是一个节点包含的内容。比如<author>读书</author> 里的"读书"。
- 例如:blogtitle.innerHTML=node.text;
- 12、Ajax.Request('/Family/Album/Upload.aspx',Form.onUploadedCallback,null,xmlData,'Text','xml','element'); 传xmlData构建 用ajax