5
我向Laravel後端發出ajax請求。如何在Laravel中獲取沒有HTML的原始異常消息?
在後端我檢查請求數據並拋出一些異常。 默認情況下,Laravel生成帶有異常消息的html頁面。
我想回應只是原始異常消息不是任何HTML。
->getMessage()
不起作用。 Laravel一如既往地生成html。
我該做什麼?
我向Laravel後端發出ajax請求。如何在Laravel中獲取沒有HTML的原始異常消息?
在後端我檢查請求數據並拋出一些異常。 默認情況下,Laravel生成帶有異常消息的html頁面。
我想回應只是原始異常消息不是任何HTML。
->getMessage()
不起作用。 Laravel一如既往地生成html。
我該做什麼?
在Laravel 5中,您可以通過編輯app/Exceptions/Handler.php
中的render
方法來捕獲異常。
如果你想趕上例外所有AJAX請求,你可以這樣做:
public function render($request, Exception $e)
{
if ($request->ajax()) {
return response()->json(['message' => $e->getMessage()]);
}
return parent::render($request, $e);
}
這將適用於在AJAX請求任何異常。如果您的應用發送了App\Exceptions\MyOwnException
的例外情況,那麼請檢查該實例。
public function render($request, Exception $e)
{
if ($e instanceof \App\Exceptions\MyOwnException) {
return response()->json(['message' => $e->getMessage()]);
}
return parent::render($request, $e);
}
不錯。 但如何返回錯誤? 我想通過ajax錯誤函數得到響應。 –
@KamilDavudov你指的是與特定的HTTP代碼響應? –
是的! 不能在laravel doc中找到它 –