实例
xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("myDiv").innerHTML=xmlhttp.responseText; } } 4.1.2 使用回调函数回调函数是一种以参数形式传递给另一个函数的函数。
如果您的网站上 存在多个AJAX 任务 ,那么您应该为创建 XMLHttpRequest 对象编写一个 标准 的函数,并为每个AJAX 任务调用该函数。
该函数调用应该包含 URL 以及发生 onreadystatechange 事件 时执行的任务(每次调用可能不尽相同):
实例
function myFunction() { loadXMLDoc("/try/ajax/ajax_info.txt", function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("myDiv").innerHTML=xmlhttp.responseText; } }); } var xmlhttp; function loadXMLDoc(url,cfunc){ if(window.XMLHttpRequest){ // IE7+, Firefox, Chrome, Opera, Safari 代码 xmlhttp=new XMLHttpRequest(); }else{// IE6, IE5 代码 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } //创建对象 xmlhttp.onreadystatechange=cfunc; //用cfunc调用响应函数 xmlhttp.open("GET",url,true); xmlhttp.send(); } function myFunction()//响应执行时的操作 { loadXMLDoc("/try/ajax/ajax_info.txt",function() { if (xmlhttp.readyState==4&& xmlhttp.status==200) { document.getElementById("myDiv").innerHTML=xmlhttp.responseText; } }); }
服务器常见状态
4.2 服务器响应对象如需获得来自服务器的响应,请使用XMLHttpRequest 对象的 responseText 或 responseXML 属性。
responseText:获得字符串形式的响应数据。 responseXML:获得 XML 形式的响应数据。 4.2.1 responseText 属性如果来自服务器的响应并非XML,请使用 responseText 属性。
responseText 属性返回字符串形式的响应,因此您可以这样使用:
实例
document.getElementById("myDiv").innerHTML=xmlhttp.responseText; 4.2.2 responseXML 属性如果来自服务器的响应是XML,而且需要作为 XML 对象进行解析,请使用responseXML 属性:
实例
请求 cd_catalog.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; 5.综合实例 <!DOCTYPE html> <html> <head> <script> var xmlhttp; function loadXMLDoc(url,cfunc) { //创建对象 ------------------------------------------------------ if (window.XMLHttpRequest) {// IE7+, Firefox, Chrome, Opera, Safari 代码 xmlhttp=new XMLHttpRequest(); } else {// IE6, IE5 代码 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } //用cfunc调用响应函数 ------------------------------------------------------ xmlhttp.onreadystatechange=cfunc; // 向服务器发送请求 ------------------------------------------------------ xmlhttp.open("GET",url,true); xmlhttp.send(); } //服务器响应函数 ------------------------------------------------------ function myFunction() { //传入URL和响应后执行方法 loadXMLDoc("/try/ajax/ajax_info.txt",function() { //响应条件 if (xmlhttp.readyState==4 && xmlhttp.status==200) { //获得字符串形式的响应数据 document.getElementById("myDiv").innerHTML=xmlhttp.responseText; } }); } </script> </head> <body> <div id="myDiv"><h2>使用 AJAX 修改文本内容</h2></div> <button type="button" onclick="myFunction()">修改内容</button> </body> </html>分享给小伙伴们:
本文标签: Ajax/">Ajax
相关文章
发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。
本类最热新闻