var xmlhttp = new XMLHttpRequest();
xmlhttp.open('POST', '../servlet/ajaxServlet', true);
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200){
alert(xmlhttp.responseXML.xml);
alert(new XMLSerializer().serializeToString(xmlhttp.responseXML.getElementsByTagName("div")[0]));
}
}
}
我修改服务器端送回来的xml字段(xmlhttp.responseXML.xml),
如果是 "<?xml version=\"1.0\" encoding=\"UTF-8\" ?><html xmlns=\"http://www.w3.org/1999/xhtml\" version=\"-//W3C//DTD HTML 4.01 Transitional//EN\"><body><div>test</div></body></html>";
就取不到值。如果是 "<?xml version=\"1.0\" encoding=\"UTF-8\" ?><html><body><div>test</div></body></html>",就能alert出来。和解?
怎么样才能把第一种情况的div值取出来?
xmlhttp.open('POST', '../servlet/ajaxServlet', true);
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200){
alert(xmlhttp.responseXML.xml);
alert(new XMLSerializer().serializeToString(xmlhttp.responseXML.getElementsByTagName("div")[0]));
}
}
}
我修改服务器端送回来的xml字段(xmlhttp.responseXML.xml),
如果是 "<?xml version=\"1.0\" encoding=\"UTF-8\" ?><html xmlns=\"http://www.w3.org/1999/xhtml\" version=\"-//W3C//DTD HTML 4.01 Transitional//EN\"><body><div>test</div></body></html>";
就取不到值。如果是 "<?xml version=\"1.0\" encoding=\"UTF-8\" ?><html><body><div>test</div></body></html>",就能alert出来。和解?
怎么样才能把第一种情况的div值取出来?
解决方案 »
- Struts2 为什么用通配符无法链接页面
- tomcat5.5转resin3.0报错误
- 急急急急急急急急急急急急急急急急急急急急急急 高手请进啊!
- 用Eclipse导入的一个可能是非Eclipse创建项目遇到的麻烦
- fckeditor无法上传图片,浏览服务器出错
- response跳转的问题,急急急!!!
- dwr问题-Creator 'pageflow' not loaded due to ClassNotFoundException
- 关于java和身份验证
- 用eclipse 配置 zk 问题
- 现在有一个java web 开发的 问题 本人菜鸟
- Eclipse下用Lomboz启动tomcat出现错误
- 急,在线等.二个小问题.如下:
我用xmlhttp.responseXML.getElementsByTagNameNS("xmlns=\"http://www.w3.org/1999/xhtml\"","div")[0]
结果提示没有这个属性或者方法。
xmlns=\"http://www.w3.org/1999/xhtml\" version=\"-//W3C//DTD HTML 4.01 Transitional//EN\"这些内容
xmlhttp.responseXML.getElementsByTagNameNS("http://www.w3.org/1999/xhtml", "div")[0]
结果返回叫本错误说不支持这个属性或者方法之类的。
怎么回事?奇怪。
用字符串把xmlhttp.responseXML.xml读出来,然后
在用一个dom把它load回去?好像有点怪.....还是,有什么好的方法解决这个问题吗?
写个例子看看啊老大。
var doc = new ActiveXObject("MSxml2.DOMDocument")
alert(doc.loadXML(str));
doc.setProperty("SelectionNamespaces", "xmlns:x='http://www.w3.org/1999/xhtml'")
var node = doc.selectSingleNode("//x:div")
alert(node.text)
</script>如果在你的代码可以直接var doc = xmlhttp.responseXMLdoc.setProperty("SelectionNamespaces", "xmlns:x='http://www.w3.org/1999/xhtml'")
var node = doc.selectSingleNode("//x:div")
alert(node.text)
var doc = xmlhttp.responseXMLdoc.setProperty("SelectionNamespaces", "xmlns:x='http://www.w3.org/1999/xhtml'")
var node = doc.selectNodes("//x:div")[0]
alert(node.text)
也可以
老大你太厉害了!
烦了我一天半的问题被你三两下搞定了。
pfpf。结帐~