我正在编写一些调用返回一些 XML 的 API 的 JS。我正在使用 Mootools 1.3(具有兼容性)和 Mootools-More 1.4。没有使用其他 JS 框架。我的代码如下所示:
var req = new Request({url:'whatevs.com/api', method:'get'}).addEvent('success',
function(response_text, response_xml) {
alert(response_xml.getElement('response').getProperty('status'));
}).send();
实际 API 调用成功,response_text 如下所示:
<?xml version="1.0" ?>
<response status="success" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://whatevs.com/api/api.xsd">
<resultset total="0" start_index="0" results_limit="20" query="keyword=cats">
<items/>
</resultset>
</response>
但是,当代码在调用"Uncaught TypeError: Object #<Document> has no method 'getElement'"
时运行并死掉时,我得到一个JS 错误。getElement
据我了解,Mootools 为所有 Document 对象提供了一个 getElement 方法,即 response_xml 。但是,当我这样做时:
Object.getOwnPropertyNames(response_xml);
getElement
在返回的属性列表中找不到。关于为什么会这样的任何想法?