Ajax Laravel 419 POST エラーの理解と解決
Laravel 419 POST エラーは、Ajax リクエストで発生する一般的な問題です。この問題は、リクエスト ヘッダーに CSRF (クロスサイト リクエスト フォージェリ) 保護トークンが欠落しているために発生します。 Laravel は、外部ソースからの悪意のあるリクエストを防ぐために、デフォルトで CSRF 保護を実装しています。
419 エラーの根本原因
Laravel は、アクティブなユーザーセッションごとに一意の CSRF トークンを生成します。このトークンは、認証されたユーザーがリクエストを行っているユーザーであることを確認するために使用されます。リクエストに正しい CSRF トークンが含まれていない場合、Laravel は 419 エラーを返します。
Ajax 呼び出し設定
提供された Ajax 呼び出しでは、X-CSRF- TOKEN ヘッダーがありません。この行を Ajax 呼び出し設定に追加して、すべてのリクエストにトークンを含めます:
<code class="javascript">$.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } });</code>
これにより、CSRF トークンがすべての Ajax リクエストに確実に含まれ、Laravel の CSRF 保護と互換性が得られます。
代替解決策: CSRF 検証からルートを除外する
また、VerifyCSRFToken ミドルウェアで CSRF トークン検証から特定のルートを除外することもできます。 app/Http/Kernel.php で、必要なルートを $excel プロパティに追加します。
<code class="php">protected $except = [ '/route_you_want_to_ignore', '/route_group/* ];</code>
これにより、指定されたルートが CSRF トークン検証から除外され、Ajax リクエストの 419 エラーをバイパスできるようになります。
結論
Ajax リクエストに CSRF トークンを含めるか、CSRF 検証からルートを除外することで、Ajax Laravel 419 POST エラーを効果的に解決し、整合性を確保できます。アプリケーションのリクエストの内容。
以上がLaravel Ajax リクエストで 419 POST エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。