我试图解析来自应该是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/