2012-03-08 157 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