我试图解析来自应该是xml的服务器的响应。我是Web开发的一个完整的新手,尽管我一直在尝试以最快的速度学习javascript。我无法控制服务器。

我正在使用该行:

.get(url,null,storeX,"xml")


其中功能storeX主要是一些故障排除代码,定义为:

var x = null;
var storeX = function(input) {
    x = input;
    console.log("input");
    console.log(input);
    $xml = $.parseXML(x);
    console.log("parsed input");
    console.log($xml);
    alert($xml);
}


console.log(input)的控制台输出(在Chrome中)提供了一个似乎与此对应的可扩展树

<results api_version="000.089.077">
<errors/>
<find_poi latitude="32.449331" longitude="-81.782748">
<images>
<image camera_number="1" distance="5.1"/>
<image camera_number="2" distance="5.3"/>
<image camera_number="3" distance="2.1"/>
</images>
</find_poi>
</results>


除了在chrome控制台中,所有这些都显示在顶级成员<#document>
(我简化了图像元素,因为它们很冗长,但看​​起来很简单)

但是,.parseXML($xml)的结果为null。

我似乎没有收到任何有关为什么parseXML返回null的消息。

如何以一种可以帮助我确定错误的方式进行故障排除,或者是否可能需要进行简单的更改才能使我从.parseXML获取非空结果?

最佳答案

大概input包含一个表示已解析XML的对象(因为jQuery会解析具有正确内容类型的数据,除非您告知不这样做)。

您将其转换为文本(可能是字符串"[object Object]"),并试图将其解析为XML(不是)。

关于javascript - .parseXML返回null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29900731/

10-09 23:02