执行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>