ホームページ >バックエンド開発 >PHPチュートリアル >Laravel 5.5 AJAX 呼び出しで「419 (不明なステータス)」エラーが返されるのはなぜですか?
Laravel 5.5 AJAX 呼び出しが「419 (不明なステータス) を返す」
Laravel 5.5 で AJAX 呼び出しを実行すると、 「419 (不明なステータス)」エラーが発生するとイライラすることがあります。このエラーは、多くの場合、クロスサイト リクエスト フォージェリ (CSRF) 保護の問題を示しています。この記事では、このエラーの原因を調査し、それを解決するための包括的な解決策を提供します。
Laravel は CSRF を採用しています。外部リクエストを通じて開始される不正なアクションを保護するための保護には、リクエストが正当なソースからのものであることを検証し、悪意のある行為者がユーザーに対して悪意のあるアクションを実行することを防ぎます。代理。
コード内にフォームがない場合、AJAX リクエストで提供されたトークンがセッションに保存されているトークンと一致しないため、エラーが発生します。これを修正するには、アプリケーションが CSRF トークンを生成し、それを AJAX リクエストに含めていることを確認する必要があります。
HTML のヘッド セクションに次のメタ タグを含めます:
<meta name="csrf-token" content="{{ csrf_token() }}">
このメタ タグは、一意の CSRF トークンを生成し、ブラウザのセッションに保存します。
メタ タグから CSRF トークンを取得するように AJAX リクエストを更新します:
$.ajax({ url: '/fetch-company/' + companyId, method: 'POST', headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content'), }, ... });
app/Http/Middleware/VerifyCsrfToken.php ミドルウェアをチェックして、Laravel アプリケーションで CSRF 保護が有効になっていることを確認します。これは、kernel.php ファイルの $middlewareGroups['web'] 配列に追加する必要があります。
これらの手順を実装することで、「419 (不明なステータス)」を効果的に解決できます。 Laravel 5.5 で AJAX 呼び出しを行うときに " エラーが発生します。 CSRF 保護は Web アプリケーションのセキュリティを維持するために非常に重要であるため、これらのガイドラインに注意深く従うことが重要であることに注意してください。 CSRF 保護の詳細については、Laravel の公式ドキュメントを参照してください。
以上がLaravel 5.5 AJAX 呼び出しで「419 (不明なステータス)」エラーが返されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。