剖析MLHttpRequest.docVIP

  • 20
  • 0
  • 约3千字
  • 约 6页
  • 2018-10-29 发布于广东
  • 举报
剖析MLHttpRequest.doc

XMLHttpRcqucst XMLIIttpRequest 对象的概念 XMLHttpRequest对象用于在后台与服务器交换数据。 XMLHttpRcqucst对象的功能: 在不茧新加载贝面的情况卜*更新网贝 在页血已加载后从服务器请求数椐 在页ifii已加载后从服务器接收数据 在后台句服务器发送数据 所有现代的浏览器都支持XMLHttpRequest对象。 创建 XMLHttpRequest 对象 所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)都内建了 XMLHttpRequest 对 象。 通过 JavaScript 代码,创建 XMLHttpRequest 对象。 创建XMLHttpRequest对象的语法: xmlhttp=new XMLHttpRequest(); 老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 对象: xmlhttp=new ActiveXObject(Microsoft. XMLHTTP); 提示:可以使用XMLHttpRequest对象从服务器取回XML信总。 onrcadystatcchangc是一个事件句柄?它的值(statc_Changc)是一个蚋数的名称,当 XMLHttpRequest对象的状态发生改变时,会触发此函数。状态从0 (uninitialized)到4 (complete)进行变化。仅在状态为4时,我们才执行代码。 为什么使用Async=truc ? 在open0的第三个参数中使用了 true。该参数规定请求足否异步处理。 True表示脚木会在sendO A法之后继续执行,而不等待來自服务器的响应。 onreadystatechange事件使代的貧杂化丫。仍是这是在没存彳到服务器响应的情况卜‘,防止代 码停止的敁安全的方法。 通过把该参数没置为false,可以杏去额外的onreadystatechange代码。如果在请求失败 吋是否执行其余的代码无关紧要,那么可以使用这个参数。 二、XML解析器 所有现代浏览器都内建了供读取和操作XML的XML解析器。 解析器把XML转换为XML D0M对象-可通过JavaScript操作的对象。 解析XML 所柯现代浏览器都柯读取和操作XML的内建XML解析器。 解析器功能:把XML载入内存,然后转换为可通过JavaScript访问的XML DOM对象。 微软的XML解析器4其他浏览器中的解析器之间,存在一些差异。 微软的解析器支持XML文件和XML字符串(文本)的加载,而 其他浏览器使用单独的解析器。 不过,所有的解析器都包禽遍W XML树、访H插入及删除节点(元素)及其属性的函数。 解析XML文档 把XML文档解析到XML DOM对象屮: if (window. XMLHttpRequest) {// code for 1E7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest0: else {// code for IE6, IE5 xmlhttp=new ActiveXObject(Microsoft. XMLHTTP〃); } xml http. opcn(〃GET〃,’’books. xml〃, false); xmlhttp. send(); xmlDoc=xmlhttp. responseXML; 通过微软的XML解析器來加载XML 微软的XML解析器内建于Internet Explorer 5以及更髙的版本中。 下而的JavaScript片段把一个XML文档载入解析器中: var xmlDoc=ncw ActiveXObject(Microsoft. XMLDOM”); xmlDoc. async=false〃; xml Doc. load (,znotc. xml〃); 上面代码的第一个行创建一个空的微软XML文档对象。 第二行关闭异步加载,这样确保在文捫完全加载之前解析器不会继续脚本的执行。 第三行告知解析器加载名为note, xml的XML文档。 在Firefox及其他浏览器中的XML解析器 下面的JavaScript片段把XML文档(note, xml)载入解析器: var xmlDoc=document. implementation. createDocument(〃,null); xmlDoc. async=〃falsc〃; xmlDoc. load(note. xml〃); 上面代码的第一个行创建一个空的XML文档对象。 第二行欠闭异步加载,这样确保在文档完全加载之前解析器不会继续脚本的执行 第三行告知解析器加载名为note, xml的XML文档。

文档评论(0)

1亿VIP精品文档

相关文档