AJax技术

Ajax学习笔记2之使用Ajax和XML

字号+ 作者:H5之家 来源:H5之家 2016-01-17 15:05 我要评论( )

本文是对Ajax学习笔记2之使用Ajax和XML的讲解,对学习JavaScript编程技术有所帮助,与大家分享。

[摘要]本文是对Ajax学习笔记2之使用Ajax和XML的讲解,对学习JavaScript编程技术有所帮助,与大家分享。

<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Using Ajax with XML</title> <script src="../js/jquery-1.4.1.js" type="text/javascript"></script> <script type="text/javascript"> var menu; //XMLHttpRequest对象:初始化为false; var XMLHttpRequestObject = false; //创建XMLHttpRequest对象 if (window.XMLHttpRequest) { XMLHttpRequestObject = new XMLHttpRequest(); //设置下载的数据类型为XML格式 if (XMLHttpRequestObject.overrideMimeType) { XMLHttpRequestObject.overrideMimeType("text/xml"); } } else if (window.ActiveXObject) { XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP"); //设置下载的数据类型为XML格式 XMLHttpRequestObject.setRequestHeader("text/xml"); } function getmenu(url) { if (XMLHttpRequestObject) { //打开XMLHttpRequest对象 XMLHttpRequestObject.open("GET", url); //获取XML数据 XMLHttpRequestObject.onreadystatechange = function () { if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) { var xmlDocument = XMLHttpRequestObject.responseXML; //获得menu1.xml/menu2.xml所有的<mennuitem>标签 menu = xmlDocument.getElementsByTagName("menuitem"); //alert(menu.length); ListMenu(); delete XMLHttpRequestObject; XMLHttpRequest = null; } else { //alert(XMLHttpRequestObject.readyState + "+" + XMLHttpRequestObject.status); } } //真正执行下载的代码 XMLHttpRequestObject.send(null); } } //绑定下拉框 function ListMenu() { var loopIndex; //获取下拉框控件 var selectControl = document.getElementById("menuList"); //循环添加选项到下拉框 for (loopIndex = 0; loopIndex < menu.length; loopIndex++) { selectControl.options[loopIndex] = new Option(menu[loopIndex].firstChild.data); } } </script> </head> <body> <h1> Using Ajax with XML</h1> <form> <select size="1"> <!-- onchange="setmenu()"--> <option>Select a menu item</option> </select> <br /> <br /> <input type="button" value="Select menu 1" /><input type="button" value="Select menu 2" /> </form> <div> Your lunch selection will appear here</div> </body> </html>

  

结果:

总结:

responseXML不能写成responseXml 之前调试一直通不过,找了老半天原来问题是在这,浏览器对responseXml也不报没有该属性或者为null

注:在IE浏览器上按F12调试,只有在版本为10以上时才得到正确结果,在360上没任何问题

 

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

相关文章
  • JQuery实现Ajax加载图片的方法

    JQuery实现Ajax加载图片的方法

    2016-02-24 17:01

  • 判断用户是不是为ajax请求

    判断用户是不是为ajax请求

    2016-02-24 17:00

  • Ajax与WEB开发 by alixixi.com

    Ajax与WEB开发 by alixixi.com

    2016-02-11 11:02

  • jQuery.ajax()的相关参数及使用

    jQuery.ajax()的相关参数及使用

    2016-02-08 16:00

网友点评
<