Laravelバックエンドにajaxリクエストを送信します。
バックエンドでリクエストデータをチェックし、いくつかの例外をスローします。Laravelは、デフォルトで、例外メッセージを含むhtmlページを生成します。
HTMLではなく生の例外メッセージだけに応答したい。
->getMessage()
動作しません。Laravelは、いつものように、htmlを生成します。
私は何をすべきですか?
Laravel 5では、のrender
メソッドを編集することで例外をキャッチできますapp/Exceptions/Handler.php
。
すべての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);
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加