AJAX例子介绍

为了大家的方便,我从一本书上看见了一段代码,给大家发上来看看,并且自己添加了注释:
<SCRIPT LANGUAGE="JavaScript">

var bloglist=new Array();//定义一个数组获取所有节点的值
var xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");//通过这个就能得到xmlHttpRequest的内置对象了
function startload(){//写一个函数好在后面进行调用。
    xmlHttp.open("GET", "http://www.blogjava.net/zbw25/Rss.aspx", true);//调用xmlhttprequest的open方法,以get的形式进行异步提交。
    xmlHttp.onreadystatechange=function() {
        if (xmlHttp.readyState==4&&xmlHttp.status==200) {//判断返回的值是什么。readyState有几个返回值:0表示未初始化 没有调用open方法 ,1表示调用了open方法以后 ,2表示调用send方法以后, 3表示正在进行接受数据 ,4表示接受完毕。status的返回值是200的时候表示返回的结果是正确的,这样才能进行解析XML。
            var xmldom=xmlHttp.responseXML; //进行数据的读取,数据的读取有这样的几个值:responsetext 以字符串的形式返回,responsexml 格式化成xmldom对象形式返回,responsebody 以数组的形式返回。还有一个不是很常用,不写了。
            var channel=xmldom.documentElement.childNodes.item(0);//获取节点的值。
            var itemlist=channel.childNodes;//获取所有的节点,并且把他们放在一个数组中。
            for(var i=0;i<itemlist.length;i++){//以循环的形式进行显示。
                var node=itemlist.item(i);//获取所有节点中的一个节点
                if(node.tagName=="title"){//判断
                blogtitle.innerHTML=node.text;//把得到的节点的值赋给blogtitle,然后在使用动态HTML(DHTML)链接到指定的页面。
                }
                if(node.tagName=="link"){
                    bloglink.href=node.text;
                }
                if(node.tagName=="description"){
                    blogdescription.innerHTML=node.text;
                }
                if(node.tagName=="managingEditor"){
                    managingEditor.innerHTML=node.text;
                }
                if(node.tagName=="item"){
                    bloglist[bloglist.length]=node.childNodes;
                }
            }
            showitem(bloglist[0]);//显示所有节点的文字,你可以把这句话删除,然后试试效果。
        }
    }
    xmlHttp.send(null);
}

function showitem(itemlist){
    for(var i=0;i<itemlist.length;i++){
        var node=itemlist.item(i);
        if(node.tagName=="title"){
            itemtitle.innerHTML=node.text;
        }
        if(node.tagName=="link"){
            itemlink.href=node.text;
        }
        if(node.tagName=="description"){
            description.innerHTML=node.text;
        }
        if(node.tagName=="author"){
            author.innerHTML=node.text;
        }
        if(node.tagName=="pubDate"){
            pubDate.innerHTML=node.text;
        }
    }
}
</SCRIPT>
<body onload="startload()">
<font color=blue><a id="bloglink" href="#"><div id="blogtitle"></div></a></font><br>
By <font color=blue><div id="managingEditor"></div></font><br>
<font color=blue><div id="blogdescription"></div></font><br>
<br>
<font color=#000066><a id="itemlink" href="#"><div id="itemtitle"></div></a></font><br>
By <font color=blue><div id="author"></div></font><br>
<div id="description"></div><br>
<div id="pubDate" align="right"></div>
</body>

希望有什么不足的地方进行指教! 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值