0
4

1 回答 1

0

为了让浏览器使用 responseXML 正确返回 XML 对象,您必须确保以下内容:

1.您的 XML 文档格式正确(如果没有,responseXML 将始终返回null )

2.在Firefox中,在您的 Ajax 请求开始时(在实例化时)调用request.overrideMimeType('text/xml')以明确告诉浏览器返回的数据将具有“text/xml”的内容类型。

3. IE不支持客户端 overrideMimeType() 方法,因此您必须确保您的服务器为正在返回的 XML 文件返回正确的“text/xml”内容头类型。

注意:如果您的 XML 文件以“.xml”的扩展名命名,默认情况下大多数服务器会发送正确的“text/xml”标头,但如果不是,您需要修改服务器设置以执行此操作. 有关详细信息,请参阅“XML 文档和 IE 中的内容类型陷阱”。

如果不满足上述任一条件,则返回的数据将是纯文本,而不是预期的 XML 对象。

编辑:我查看了你的 JQuery Ajax 调用(再次),你猜怎么着?!responseXML将始终未定义,因为您甚至在 AJAX 请求完成之前就尝试访问它。我的解决方案是在complete属性而不是success下调用函数。

于 2012-10-25T09:52:21.380 回答