javascript - 查询。 text() 似乎在 IE8 中不起作用

标签 javascript jquery xml

我将以下 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 as a dumb string”的正确方法是通过 $.parseXML 传递它第一:

 window.alert(
     "last_update" + $($.parseXML(sXMLData)).find("last_update").text());

但是,您不需要手动执行此操作

  • 或者服务器返回一个 XML Content-Type
  • 您获取 XML 的 AJAX 请求使用 dataType AJAX 选项指定应将响应视为 XML

如果服务器在您的控制之下,请修复它以返回正确的内容类型。如果不是,请使用替代解决方案。我建议仅当您从第三方代码中获取您有充分理由不想接触的字符串时才手动解析 XML。

关于javascript - 查询。 text() 似乎在 IE8 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13434352/

相关文章:

javascript - JS 函数 : prototype overriding vs prototype extension

javascript - 无法将上传文件数组发送到 Laravel 中的 Controller

xml - XPath 中的元素计数

javascript - index.html :1 Uncaught ReferenceError: VARIABLE is not defined at HTMLDivElement. onclick

java - camel 通用生产者(通过 spring xml 配置路由)

xml - 命名空间之后的 uri 实际用于什么?

javascript - 检测函数内的垂直滚动和窗口宽度

javascript - 迭代 TypeScript 中的接口(interface)属性

javascript - 每当我更改 `geometry.setDrawRange` 属性时,同步就会停止

javascript - 如何让我的过渡顺利?