关于responeXML的返回值

  突然想尝试写一个Ajax来学习研究下了,去w3c school看了Ajax的介绍后,了解到Ajax其实就是利用了javascript的一个XMLHttpRequest对象来与server端通信,从而达到异步更新页面的 效果。用XMLHttpRequest的responseText来尝试返回一个文本没问题后,就尝试用responseXML 来返回一个XML并用javascript来处理了,但中间却经历了不少波折~

 

服务端生成xml的代码:

 

<?php

header("Content-type:text/xml");     //发送文件头让浏览器知道这是

XML header("Cache-Control: no-cache"); //缓存处理

echo "<?xml version=/"1.0/" encoding=/"utf-8/" ?>   //XML文件的第一行,在它之前不 能有任何输出。 <ddd>wowowo</ddd> ";

?>

 

在生成xml文件时真的要注意在<?xml ?>标签前的空格和空行,都会引起xml报错的~   

 

浏览端代码:

 

<html>

<script>

function getget(){

y=document.getElementById("yoyo");

var xmlhttp;

try {

    xmlhttp=new XMLHttpRequest;

}catch(e) {

    try {

        xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");

    }catch(e) {

        alert("你的浏览器连AJAX都无支持~~");

    }

}

xmlhttp.onreadystatechange=function() {

    if(xmlhttp.readyState==4) {

        xc=xmlhttp.responseXML;

        y.value=xc.getElementsByTagName("ddd")[0].childNodes[0].nodeValue;

    }

}

xmlhttp.open("post","ddd.php",true);

xmlhttp.send(null);

}

</script>

<input id="yoyo" type="text"> <input type="button" value="haha" οnclick="getget();">

</html>

 

  在w3c的教程中看到是这样赋值个xc的:xc=xmlhttp.responseXML.documentElement,但我用 这种赋值方式时,浏览器会报错~最后朋友告诉我responseXML返回的是一个文档,这样的话直 接将xmlhttp.responseXML赋予xc后,用xc.getElementsByTagName就可以提取数据了~

 

  这只是一个很简单的实例,连发送数据给server端的代码也没有,不过这主要是用来学习研 究怎样处理responseXML返回的XML数据~了解了这个后,要改进此段代码也变的轻松了~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值