我正在尝试将我写的一部分AJAX代码移植到BlackBerry应用程序的嵌入式浏览器中。我们的基础版本是4.6.1,RIM文档声称XMLHttpRequest的responseXML从此版本开始可用。当我从本地服务器请求XML文件时,我得到了responseText(所以我知道请求正在运行),但responseXML始终为null。我确保HTTP“Content-Type”标头设置为“text / xml”,并且我在Web浏览器中加载了正确的数据。它只是在BB网络环境中归零。有谁知道可能会发生什么?
使用responseText并通过DOMParser管道的备份是不可能的,因为该对象直到4.7.1才被添加到BB浏览器中。所以我不确定我有什么后备。
答案 0 :(得分:1)
回答我自己的问题......希望我能在几个小时的挫折中拯救别人。
不幸的是,我认为其中一个文件以text / xml的内容类型返回的文件确实以text / html的形式返回。我错过了。 BB正确地不会尝试解析它认为不是xml的东西。所以在这一点上,我是个白痴。
我的一些文件由空的,自动关闭的根节点标签组成(下面的示例)。我不确定这是否有效,但我测试过此代码的所有其他浏览器都运行良好。但是在BB上,下面的XML流导致了null responseXML:
<?xml version="1.0" ?><rootnode />
我会删除我的问题,但我认为对于我认识的大多数开发人员而言,第2点应该是一个惊喜。