AJax技术

Ajax基础的概念和操作(2)

字号+ 作者:H5之家 来源:H5之家 2017-07-23 18:05 我要评论( )

实例 xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 xmlhttp.status==200){ document.getElementById(myDiv).innerHTML=xmlhttp.responseText;} }4.1.2 使用回调函数 回调函数是一种以参数形

实例

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

相关文章

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

  • 本类最热新闻

  •  

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • ajax的定时调用每5秒调用一次,ajax5秒调用

      ajax的定时调用每5秒调用一次,ajax5秒调用

      2017-07-23 17:01

    • 很好的一个ajax分页实例代码

      很好的一个ajax分页实例代码

      2017-07-23 17:00

    • ajax使用不同namespace的action的方法,ajaxnamespace

      ajax使用不同namespace的action的方法,ajaxnamespace

      2017-07-23 16:06

    • 图解AJAX原理

      图解AJAX原理

      2017-07-23 16:03

    网友点评
    "