我正在尝试解析来自应该是xml的服务器的响应。我是一个完整的网络开发新手,虽然我一直试图尽快拿起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(输入)的控制台输出(在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)
的结果为空。
我似乎没有得到任何关于为什么parseXML返回null的消息。
如何以帮助我确定错误的方式对此进行故障排除,或者是否可能需要进行简单的更改以允许我从.parseXML获取非空结果?
答案 0 :(得分:3)
input
包含一个表示解析 XML的对象(因为jQuery将使用正确的内容类型解析数据,除非你告诉它不要)。
您正在将其转换为文本(可能是字符串"[object Object]"
)并尝试将其解析为XML(不是XML)。