浅谈ajax(二)
我们在使用open()的时候会有一个URL的参数,url参数其实就是指服务器上的文件地址,这个地址可以是任何类型的文件:txt、xml或者其他页面文件。 第三个参数是异步(true orfalse):不推荐使用false 服务器响应 如果需要获得服务器的响应,我们可以使用XMLHttpRequest对象的reponseText 或者reponsexml属性。 当来自服务器的响应不是XML的时候,需要使用requestText属性,该属性可以返回字符串形式的响应: document。getElementById("myDiv").innerHTML=xmlhttp.reponseText; 如果来自服务器的响应时XML,那么需要作为XML对象进行解析,需要使用reponseXML属性。 例如请求hello.xml,并解析。 xmlDoc=xmlhttp.responseXML; txt=""; x=xmlDoc.getElementsByTagName("ARTIST"); for (i=0;i<x.length;i++) { txt=txt + x[i].childNodes[0].nodeValue + "<br />"; } document.getElementById("myDiv").innerHTML=txt; onreadystatechange事件 当请求被发送到服务器,我们需要执行一些基于响应的任务,每当readyState改变时,就会触发onreadystatechange事件。 readystate属性存有XMLHttpRequest的状态信息。 onreadystatechange:存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。
当readystate等于4而且状态为200的时候,表示响应已经就绪。
xmlhttp.onreadystatechange=function(){ if(xmlhttp.readystate==4&&xmlhttp.status==200){ document。gtElementById("myDiv").innerHTML=xmlhttp.reponseText; } } Callback() 该函数是一种以参数形式传递给另一函数的函数。 如果一个网站上面存在有多个ajax的任务,那么当创建对象编写一个编著的函数,并给每个ajax任务调用该函数。 该函数调用应该包含url以及发生onreadystatechange时间时执行的任务(每次调用不尽相同) function myFunction() { loadXMLDoc("ajax_info.txt",function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("myDiv").innerHTML=xmlhttp.responseText; } }); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |