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

Barbara Streisand
リリース: 2024-10-30 20:13:02
オリジナル
180 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!