Ajax 获取 responseXML 形式的响应数据(三)

前端之家收集整理的这篇文章主要介绍了Ajax 获取 responseXML 形式的响应数据(三)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在上一章中,简单介绍了Ajax如何获得responseText字符串形式的响应数据,但在web开发中,很多情况下还需要获得responseXML形式的响应数据。

通过一个小例子来看具体代码,如下图:


1.0 date.xml:

<?xml version="1.0" encoding="UTF-8"?>
<date>
    <day>
        <hh>今天是十月三十一号</hh>
        <mm>周六</mm>
    </day>
    <day>
        <hh>明天是十一月一号</hh>
        <mm>周天</mm>
    </day>
    <day>
        <hh>后天又要上课了!</hh>
        <mm>星期一</mm>
    </day>
</date>

2.0 date.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>Ajax练习</title>

        <script type="text/javascript"> var xmlHttp; var x,xx; var txt = ""; //根据不同浏览器选择相对应的创建XMLHttpRequest对象的方式 function getXMLHttpRequest() { if(window.XMLHttpRequest) { //如果浏览器是 :Firefox、 Chrome、 Opera、 IE7及以上 xmlHttp = new XMLHttpRequest(); } else { //如果浏览器是 :IE5、 IE6等老版本浏览器 xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } } //事件处理 function hoho() { if(xmlHttp.readyState == 4) { if(xmlHttp.status == 200) { //得到所有day标签,存储在x里 x = xmlHttp.responseXML.documentElement.getElementsByTagName("day"); for(var i=0; i<x.length; i++) { //获取mm标签,存储在xx里 xx = x[i].getElementsByTagName("mm"); //得到标签里的值 txt += xx[0].firstChild.nodeValue; } document.getElementById("div1").innerHTML = txt; } } } //主方法 function loadXml() { getXMLHttpRequest(); //取得XMLHttpRequest对象 xmlHttp.onreadystatechange = hoho; //监听onreadystatechange属性值的变化 xmlHttp.open("post","date.xml",true); //规定请求类型、请求文件、是否异步 xmlHttp.send(); //发送请求 } </script>
    </head>

    <body>
        <div id="div1">日期显示</div>
        <hr>
        <input type="button" value="点击" onclick="loadXml()">
    </body>
</html>

猜你在找的Ajax相关文章