我将以下XML作为字符串:
<battery_content>
<last_update>2012-15-09-22-40</last_update>
<total_downloads>234</total_downloads>
......
</battery_content>
我从Ajax请求中获取XML,并将其存储在
sXMLData
中。我快速进行了window.alert(sXMLData)
,一切都很好。当我在IE8中运行下一个代码时,它似乎无法正常工作。 Chrome和Firefox可以工作。
window.alert("last_update" + $(sXMLData).find("last_update").text());
我似乎不知道为什么。此方法不适用于IE8吗?如果可以,我该如何解决?
最佳答案
处理“ XML作为哑字符串”的正确方法是首先将其通过$.parseXML
传递:
window.alert(
"last_update" + $($.parseXML(sXMLData)).find("last_update").text());
但是,如果出现以下情况,则无需手动执行此操作
服务器要么返回XML
Content-Type
,或使用
dataType
AJAX选项来获取XML的AJAX请求,以指定应将响应视为XML如果服务器在您的控制之下,请对其进行修复以返回正确的内容类型。如果不是,请使用替代解决方案。我建议仅在您有充分理由不想从第三方代码获取字符串时,才手动解析XML。