AJAX responseXML 使用
首先,要把你生成XML的reponse流进行设置:response.setContentType("text/xml;charset=ISO-8859-1");
如果是JSP页,也可以这样:<%@ page contentType="text/xml;charset=ISO-8859-1" %>
?
其次。。。你的根结点应该只有一个。。。根结点不应该有同级的。。。有时马虎了还真容易犯这样的错误
?
我的XML<response><ddd>666</ddd><ddd>777</ddd></response>
然后说说前台:
?
var response = xmlHttp.responseXML;
var root = response.documentElement;
这些都没有争议。。。网上一堆堆的
?
var ret = root.getElementsByTagName("ddd");
问题来了。。。如果ddd是你的根结点,那么你这么用,或许你能取到根结点对象,但其内的东西貌似你什么也得不着(个人经历。。。如有不对之处还请大家指正);另外需要注意你的XML是纯净的,不要在根结点外还有输出,如:%E6%9D%A8%E5%B3%B0<response>999</response>,这样ajax不认(不能解析为XML)
如果ddd不是你的根结点,那么这么用完全没问题
接着ret[0].text就可以取到第一个叫ddd的结点的值了:我的是666
?
另外也可以这么取值
var nodes = root.childNodes;
nodes[0].text
当然,这个就没有根结点的限制!
777