在服務器端(PHP)拋出的任何錯誤都會在哈希中捕獲並通過AJAX發送回客戶端(javascript)。通過這種方式,錯誤的JSON實際上被傳遞給AJAX成功事件。可能從Ajax成功事件中拋出新的錯誤?
...
catch ($e) {
echo (array("error" => $e->getMessage()));
}
我基本上是檢查數據[「錯誤」]是不確定的,如果沒有,我想拋出一個新的錯誤,將理論上我try/catch塊是將整個AJAX被抓住。
...
success : function(data) {
if (typeof(data["error"]) != "undefined") {
throw new Error(data["error"]);
}
handleGoodData(data);
}
它一直告訴我錯誤未被捕獲(通過Chrome控制檯)。如果已經定義,我已經檢查並且數據[「error」]返回一個字符串。
即使在最簡單的形式,只需在成功事件拋出一個新的錯誤似乎不工作,要麼:
success : function(data) {
throw new Error("error message!");
}
謝謝,通過try/catch工作處理另一個函數中的AJAX成功數據。 – kaspnord 2012-03-05 15:47:27