我使用jQuery Ajax,如下所示:
$.ajax({ url: 'servlet/*****Servlet', dataType: "text", success: function(data) { var subareaCoordsPGs = preprocessCoords(data); } });
即使我没有在Chrome中设置dataType,它也能很好地工作,但是,它在FF中失败,并带有XML解析错误。
响应Headersview源 服务器Apache-Coyote / 1.1 传输编码大块 数据日期,星期二,2011年10月4日00:08:08 GMT 请求Headersview源 主机localhost:8080 用户代理Mozilla / 5.0(Windows NT 5.2; WOW64; rv:7.0.1 )Gecko / 20100101 Firefox / 7.0.1 接受text / plain, / ; q = 0.01 接受语言en,us; q = 0.5 Accept-Encoding gzip,deflate 接受字符集ISO-8859-1,utf-8; q = 0.7,; _q = 0.7 连接保持活动 X-Requested-使用XMLHttpRequest 引荐来源 网址http:// localhost:8080 / ***_ / 高速缓存控制max-age = 0 XML解析错误:格式不正确的位置:moz- nullprincipal:{2f6a8381-b987-448b-88c2-e89c4e13440b}行号1,第4列: 534@151.248078368847 -33.9353900931769,151.247877472978 -33.9360784582012,151.24 … ------ ^
响应Headersview源 服务器Apache-Coyote / 1.1 传输编码大块 数据日期,星期二,2011年10月4日00:08:08 GMT 请求Headersview源 主机localhost:8080 用户代理Mozilla / 5.0(Windows NT 5.2; WOW64; rv:7.0.1 )Gecko / 20100101 Firefox / 7.0.1 接受text / plain, / ; q = 0.01 接受语言en,us; q = 0.5 Accept-Encoding gzip,deflate 接受字符集ISO-8859-1,utf-8; q = 0.7,; _q = 0.7 连接保持活动 X-Requested-使用XMLHttpRequest 引荐来源 网址http:// localhost:8080 / ***_ / 高速缓存控制max-age = 0
XML解析错误:格式不正确的位置:moz- nullprincipal:{2f6a8381-b987-448b-88c2-e89c4e13440b}行号1,第4列:
534@151.248078368847 -33.9353900931769,151.247877472978 -33.9360784582012,151.24 … ------ ^
搜索后,我知道设置适当的数据类型是很好的,我希望将其解析为普通文本,但是为什么 Intelligent Guess 在FF中不起作用,即使我将其类型明确设置为 “文本”也是如此 ?
您的服务器未返回内容类型,因此Firefox假定由于这是_XML_HttpRequest,因此您的响应可能是XML并尝试解析它。如果失败,它将停止尝试并报告这毕竟不是XML。
Chrome可能会执行相同的操作,但不会报告任何内容。
我建议实际上发送一个Content-Type标头,指示您的数据是什么。