【发布时间】:2011-05-18 01:54:39
【问题描述】:
我有一个将 XML 响应发送到 JavaScript 的简单 servlet 应用程序。 当我签入我的 Firebug 时,JavaScript 收到此响应为
<valid> AT&T,0.51851370625875,0.97944711419669,Verizon,0.47641942539114,0.99005717081381,wifi,0.48596657869633,0.88912486160201 </valid>
这是一个完全有效的 XML 响应 - 但 Firebug 也显示 XML 错误
XML Parsing Error: not well-formed Location: moz-nullprincipal:{30f70c51-7f01-48b4-9f69-4f0093e02ba6} Line Number 1, Column 12:
<valid>AT&T,0.51851370625875,0.97944711419669,Verizon,0.47641942539114,0.9900571...
它在第一个逗号处显示错误 - 这根本没有意义。我什至尝试用空格替换逗号 - 但即使这样也会出现同样的问题。
我从 Servlet 生成我的响应
String ret="";
for (int i=0; i < ping.size(); i++)
{
ret += ping.get(i) ;
if(i != ping.size()-1){
ret += ",";
}
}
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
response.getWriter().write("<valid>"+ret+"</valid>");
在我的 JavaScript 中,我尝试将数据检索为
var message = xmlHttp.responseXML.getElementsByTagName("valid")[0].childNodes[0].nodeValue;
我以前使用过这种完全相同的方法 - 不知道为什么这不再起作用了。
我需要做的就是将值 (AT&T,0.51851370625875,0.97944711419669,Verizon,0.47641942539114,0.99005717081381,wifi,0.48596657869633,0.88912486160201) 存储在 javascript 数组中。
有什么想法吗?
【问题讨论】:
-
请按照帮助部分的说明将代码缩进四个空格。
标签: java javascript xml servlets