2012-03-08 104 views
0

我想解析Ajax响应中的XML。 当服务器返回200时,一切正常。 但看起来像JQuery中的XML解析在错误时被禁用。错误的JQuery XML解析

statusCode:{ 
200:function(xml){alert($(xml).find("error").text());}, 
404:function(xml){alert($(xml).find("error").text());} 
} 

如果我发送200我得到正确的警报。 但是,如果我将响应代码更改为任何我喜欢的错误,我只会看到一个空的警告框。 我是愚蠢的发送文本/ XML的错误,这是一个错误在jQuery或我错了吗?

希望有人能帮忙。

由于

回答

1

根据jQuery documentation

如果请求成功,则状态代码函数采取同样 参数作为成功回调是“成功(数据,textStatus, jqXHR) “;

,如果它导致一个错误,他们采取同样的参数 错误回调,这是“错误(jqXHR,textStatus,errorThrown)”

这意味着在你的404回拨“功能(XML) {警报($(XML).find( “错误”)文本());” 'xml'实际上就是jqXHR对象,可以理解的是$(xml).find(“error”).text()不是什么。

+0

感谢您的提示我知道了解决: 我不得不使用 $(xml.responseXML).find(“错误”) 这样的反应得到改造成一个jQuery对象上,我可以再执行find() 谢谢 – JavaJens 2012-03-08 11:08:20