RT 以下是代码jsp页面的JavaScript接受的servlet返回xml:
if(xmlHttp.status == 200)
{
var xmlDoc = xmlHttp.responseXML; // 取得DOM对象
var responses = xmlDoc.getElementsByTagName("hibaidu");
var out = "";
for(var i = 0; i < responses.length; i++)
{
var response = responses[i];
out = response.childNodes[0].nodeValue;
}
document.getElementById("sceneryInfo").innerText = out;
}Servlet:
public void doGet(HttpServletRequest request , HttpServletResponse response)throws ServletException , java.io.IOException
{
String mapStr = request.getParameter("mapID");
int mapID = Integer.parseInt(mapStr);
String sql = "select * from scenery.sceneryList where sceneryID = "+mapID;
try
{
connectBean cb = new connectBean(); //connectBean是自己写的一个连接数据库的类
ResultSet result = cb.select(sql);
String[] sceneryInfoArray= new String[10];
int count = 1;
while(result.next())
{
sceneryInfoArray[count] = result.getString("sceneryInfo");
count=count+1;
}
String responseXML = "<hibaidu>";
responseXML = responseXML + sceneryInfoArray[1];
responseXML = responseXML + "</hibaidu>";
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
response.getWriter().print(responseXML);
}
catch(Exception e)
{
e.getMessage();
String responseXML = "<hibaidu>";
responseXML = responseXML + sql;
responseXML = responseXML + "</hibaidu>";
response.setContentType("text/xml");
response.getWriter().print(responseXML);
}
}我个人感觉可能是两个地方有问题:1.Servlet的编码,但是整个网站项目都是utf-8的。。2.JavaScript的那一段取出xml或是输出的代码在IE里不识别
希望高手能够指点一下 谢谢~~~
if(xmlHttp.status == 200)
{
var xmlDoc = xmlHttp.responseXML; // 取得DOM对象
var responses = xmlDoc.getElementsByTagName("hibaidu");
var out = "";
for(var i = 0; i < responses.length; i++)
{
var response = responses[i];
out = response.childNodes[0].nodeValue;
}
document.getElementById("sceneryInfo").innerText = out;
}Servlet:
public void doGet(HttpServletRequest request , HttpServletResponse response)throws ServletException , java.io.IOException
{
String mapStr = request.getParameter("mapID");
int mapID = Integer.parseInt(mapStr);
String sql = "select * from scenery.sceneryList where sceneryID = "+mapID;
try
{
connectBean cb = new connectBean(); //connectBean是自己写的一个连接数据库的类
ResultSet result = cb.select(sql);
String[] sceneryInfoArray= new String[10];
int count = 1;
while(result.next())
{
sceneryInfoArray[count] = result.getString("sceneryInfo");
count=count+1;
}
String responseXML = "<hibaidu>";
responseXML = responseXML + sceneryInfoArray[1];
responseXML = responseXML + "</hibaidu>";
response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
response.getWriter().print(responseXML);
}
catch(Exception e)
{
e.getMessage();
String responseXML = "<hibaidu>";
responseXML = responseXML + sql;
responseXML = responseXML + "</hibaidu>";
response.setContentType("text/xml");
response.getWriter().print(responseXML);
}
}我个人感觉可能是两个地方有问题:1.Servlet的编码,但是整个网站项目都是utf-8的。。2.JavaScript的那一段取出xml或是输出的代码在IE里不识别
希望高手能够指点一下 谢谢~~~
试试 :
var xmlDoc = xmlHttp.responseXML.documentElement ||xmlHttp.responseXML;