XML解析错误:在FireFox中格式不正确但在Chrome中表现不错

我使用如下的jQuery Ajax:

$.ajax({ url: 'servlet/*****Servlet', dataType: "text", success: function(data) { var subareaCoordsPGs = preprocessCoords(data); } }); 

它工作得很好,即使我没有在Chrome中设置dataType,但是,它在FF中因XML解析错误而失败。

响应标题来源
服务器Apache-Coyote / 1.1
Transfer-Encoding chunked
日期星期二,2011年10月4日00:08:08 GMT
请求Headersview源
主持localhost:8080
User-Agent Mozilla / 5.0(Windows NT 5.2; WOW64; rv:7.0.1)Gecko / 20100101 Firefox / 7.0.1
接受text / plain, / ; Q = 0.01
Accept-Language en-us,en; q = 0.5
接受编码gzip,收缩
Accept-Charset ISO-8859-1,utf-8; q = 0.7 , ; q = 0.7
连接保持活着
X-Requested-With XMLHttpRequest
Referer http:// localhost:8080 / * /
Cache-Control max-age = 0

XML解析错误:格式不正确位置:moz-nullprincipal:{2f6a8381-b987-448b-88c2-e89c4e13440b}第1行,第4列:

534@151.248078368847 -33.9353900931769,151.247877472978 -33.9360784582012,151.24 …
—— ^

在搜索之后,我知道设置正确的数据类型是好的,我希望它像正常文本一样被解析,但为什么智能猜测在FF中不起作用,即使我设置它的类型是明确的“文本”

您的服务器没有返回内容类型,因此Firefox假定由于这是_XML_HttpRequest,您的响应可能是XML并尝试解析它。 当失败时,它会停止尝试并报告这毕竟不是XML。

Chrome可能会做同样的事情,但不会报告任何内容。

我建议实际发送一个Content-Type标头,指出你的数据是什么。