mrzhangtufu2 2008-08-22 16:43
浏览 239
已采纳

XMLHttpRequest分析XML文档在Firefox显示不了

执行cdSelect.html后在IE中正常,但firefox中没有显示,为什么呢?

基本页面cdSelect.html:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="select.js"></script>
</head>

<body>












onmouseout="this.style.backgroundColor='#ffccee'">
Bob Dylan
onmouseout="this.style.backgroundColor='#ffccee'">
Bonnie Tyler
onmouseout="this.style.backgroundColor='#ffccee'">
Dolly Parton

ffffff



</body>
</html>

 

javascript代码:

var XmlHttp;
function createXmlHttpRequest(){
    try{
        XmlHttp=new XMLHttpRequest();
    }catch(e){
        try{
            XmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }catch(e){
            alert("你的浏览器不支持XMLHttpRequest");
            return;
        }
    }
}

function doRequest(str){
    createXmlHttpRequest();
    var url = "getcd.jsp";
    url = url + "?q="+str;
    url = url + "&id="+Math.random();
    XmlHttp.onreadystatechange = stateChanged;
    XmlHttp.open("GET",url,true);
    XmlHttp.send(null);
}

function stateChanged(){
    if(XmlHttp.readyState == 4){
        document.getElementById("txtHint").innerHTML = XmlHttp.responseText;
    }
}
 

JSP分析xml并返回内容:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="org.dom4j.io.*,java.io.*,org.dom4j.*,java.util.*"%>
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
      <%
      String xmlPath = request.getRealPath("cd.xml");
      Document doc = new SAXReader().read(new File(xmlPath));
      String param = request.getParameter("q");
      Iterator nodes = doc.selectNodes("catalog/cd[artist='"+param+"']").iterator();
      while(nodes.hasNext()){
        Element e = (Element)nodes.next();
        Iterator eChilds = e.elementIterator();
        while(eChilds.hasNext()){
          Element eChild = (Element)eChilds.next();
          out.println(""+eChild.getName()+"");
          out.println(""+eChild.getText()+"");
          out.println("
");
        }
        out.println("---------------------
");
      }
      %>
    </body>
</html>

xml文件:


<catalog>
 <cd>
  <title>Empire Burlesque</title>
  <artist>Bob Dylan</artist>
  <country>USA</country>
  <company>Columbia</company>
  <price>10.90</price>
  <year>1985</year>
  </cd>
 <cd>
  <title>Hide your heart</title>
  <artist>Bonnie Tyler</artist>
  <country>UK</country>
  <company>CBS Records</company>
  <price>9.90</price>
  <year>1988</year>
  </cd>
 <cd>
  <title>Greatest Hits</title>
  <artist>Dolly Parton</artist>
  <country>USA</country>
  <company>RCA</company>
  <price>9.90</price>
  <year>1982</year>
  </cd>
 <cd>
  <title>Still got the blues</title>
  <artist>Gary Moore</artist>
  <country>UK</country>
  <company>Virgin records</company>
  <price>10.20</price>
  <year>1990</year>
  </cd>
 <cd>
  <title>Eros</title>
  <artist>Eros Ramazzotti</artist>
  <country>EU</country>
  <company>BMG</company>
  <price>9.90</price>
  <year>1997</year>
  </cd>
 <cd>
  <title>One night only</title>
  <artist>Bee Gees</artist>
  <country>UK</country>
  <company>Polydor</company>
  <price>10.90</price>
  <year>1998</year>
  </cd>
 <cd>
  <title>Sylvias Mother</title>
  <artist>Dr.Hook</artist>
  <country>UK</country>
  <company>CBS</company>
  <price>8.10</price>
  <year>1973</year>
  </cd>
 <cd>
  <title>Maggie May</title>
  <artist>Rod Stewart</artist>
  <country>UK</country>
  <company>Pickwick</company>
  <price>8.50</price>
  <year>1990</year>
  </cd>
 <cd>
  <title>Romanza</title>
  <artist>Andrea Bocelli</artist>
  <country>EU</country>
  <company>Polydor</company>
  <price>10.80</price>
  <year>1996</year>
  </cd>
 <cd>
  <title>When a man loves a woman</title>
  <artist>Percy Sledge</artist>
  <country>USA</country>
  <company>Atlantic</company>
  <price>8.70</price>
  <year>1987</year>
  </cd>
 <cd>
  <title>Black angel</title>
  <artist>Savage Rose</artist>
  <country>EU</country>
  <company>Mega</company>
  <price>10.90</price>
  <year>1995</year>
  </cd>
 <cd>
  <title>1999 Grammy Nominees</title>
  <artist>Many</artist>
  <country>USA</country>
  <company>Grammy</company>
  <price>10.20</price>
  <year>1999</year>
  </cd>
 <cd>
  <title>For the good times</title>
  <artist>Kenny Rogers</artist>
  <country>UK</country>
  <company>Mucik Master</company>
  <price>8.70</price>
  <year>1995</year>
  </cd>
 <cd>
  <title>Big Willie style</title>
  <artist>Will Smith</artist>
  <country>USA</country>
  <company>Columbia</company>
  <price>9.90</price>
  <year>1997</year>
  </cd>
 <cd>
  <title>Tupelo Honey</title>
  <artist>Van Morrison</artist>
  <country>UK</country>
  <company>Polydor</company>
  <price>8.20</price>
  <year>1971</year>
  </cd>
 <cd>
  <title>Soulsville</title>
  <artist>Jorn Hoel</artist>
  <country>Norway</country>
  <company>WEA</company>
  <price>7.90</price>
  <year>1996</year>
  </cd>
 <cd>
  <title>The very best of</title>
  <artist>Cat Stevens</artist>
  <country>UK</country>
  <company>Island</company>
  <price>8.90</price>
  <year>1990</year>
  </cd>
 <cd>
  <title>Stop</title>
  <artist>Sam Brown</artist>
  <country>UK</country>
  <company>A and M</company>
  <price>8.90</price>
  <year>1988</year>
  </cd>
 <cd>
  <title>Bridge of Spies</title>
  <artist>T`Pau</artist>
  <country>UK</country>
  <company>Siren</company>
  <price>7.90</price>
  <year>1987</year>
  </cd>
</catalog>

  • 写回答

1条回答 默认 最新

  • xuxiaolei 2008-08-23 20:42
    关注

    是这样的,value不是td的标准属性,在IE可以通过this.value得到正确的值,但是在firefox中this.value得到的值是undefined。所以,最好这样做
    [code="html"]

    onmouseout="this.style.backgroundColor='#ffccee'">
    [/code]

    就可以了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?