我向Laravel后端发出ajax请求。
在后端,我检查请求数据并抛出一些异常。默认情况下,Laravel会生成包含异常消息的html页面。
我只想回复原始的异常消息,而不是任何html。
->getMessage()不工作。Laravel一如既往地生成html。
我该怎么办?
发布于 2015-06-11 02:56:56
在Laravel5中,您可以通过编辑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);
}https://stackoverflow.com/questions/30764466
复制相似问题