我使用Laravel與阿賈克斯,並在我的控制器我有一個嘗試 - catch塊:Laravel AJAX抓500內部服務器錯誤
try {
something...
} catch (\Exception $e) {
return response()->json([
'status' => 'error',
'message'=> 'error message'
]);
}
我使用這顯示在一個div錯誤消息頁。
這是工作,但不是如果錯誤是500內部服務器錯誤(例如:tokenmismatchexception)。
然後錯誤不會被catch-block捕獲,並且基本上用戶沒有被通知任何錯誤(除了在控制檯中)。
有沒有一種方法可以捕捉到這樣的錯誤,並在通常情況下在同一個div中顯示錯誤?
你捕獲了你的AJAX的錯誤回調在您的JS – msonowal
非常感謝,這是它實際上:) – Bergkamp10
沒有足夠的數據來回答你的問題。如果您發現異常並返回一些內容,我敢打賭,laravell將返回200個HTTP狀態。如果錯誤沒有被捕獲(被拋出控制器之外),服務器應該發送500個狀態。所以,請檢查什麼是實際響應(標題和內容),然後編寫客戶端部分。 – degr