ホームページ  >  記事  >  バックエンド開発  >  LaravelでのAjaxリクエストの419 POSTエラーを修正する方法?

LaravelでのAjaxリクエストの419 POSTエラーを修正する方法?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-30 20:13:02182ブラウズ

How to Fix the 419 POST Error in Ajax Requests with Laravel?

Ajax LARAVEL 419 POST エラーは解決されました

このエラーは通常、適切な CSRF トークン検証なしで Ajax POST リクエストを実行しようとすると発生します。 Laravel は、外部ソースからの悪意のあるリクエストを防ぐために CSRF トークン保護を実装しています。

問題:

/company エンドポイントへの Ajax 呼び出しを行うときに POST エラーが発生します。

解決策:

この問題を解決するには、Ajax リクエストに CSRF トークンを含める必要があります。これを行うには、次のコード スニペットを Ajax 呼び出しに追加します。

$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
});

これにより、生成された CSRF トークンが Ajax リクエストのヘッダーに追加され、Laravel がリクエストの発信元を確認できるようになります。

説明:

Laravel は、アクティブなユーザーセッションごとに一意の CSRF トークンを自動的に生成します。このトークンは、HTML ドキュメントのメタ タグに保存されます。

<meta name="csrf-token" content="your-generated-token" />

Ajax 呼び出しが行われるとき、CSRF トークンはメタ タグに保存されているトークンと一致する必要があります。一致しない場合、Laravel は 419 エラーでリクエストを拒否します。

代替解決策:

CSRF トークン検証から特定の URI パスを除外したい場合、それらを VerifyCSRFToken ミドルウェアの次の配列に追加できます:

protected $except = [
    '/route_you_want_to_ignore',
    '/route_group/*'
];

以上がLaravelでのAjaxリクエストの419 POSTエラーを修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。