ホームページ >バックエンド開発 >PHPチュートリアル >Laravel AJAX リクエストで 419 POST エラーが発生するのはなぜですか? それを修正するにはどうすればよいですか?

Laravel AJAX リクエストで 419 POST エラーが発生するのはなぜですか? それを修正するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-01 03:51:02986ブラウズ

 Why am I Getting a 419 POST Error in My Laravel AJAX Requests and How Do I Fix It?

AJAX Laravel 419 POST エラー: 理解と解決

Laravel の 419 POST エラーは、AJAX 対話中によく発生します。これは、通常、CSRF (クロスサイト リクエスト フォージェリ) トークンが欠落しているか正しくないために、サーバーがリクエストの信頼性を検証できないことを示します。このトークンにより、元のユーザーがリクエストの承認された送信者であることが保証されます。

このエラーを解決するには、いくつかの方法が考えられます。解決策の 1 つは、AJAX ヘッダーに正しい CSRF トークンが含まれていることを確認することです。 Laravel はユーザーセッションごとに CSRF トークンを生成します。CSRF トークンは HTML ヘッダーのメタタグから取得できます。次のコードを AJAX 呼び出しに追加して、CSRF トークンを含めることができます:

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

または、VerifyCSRF トークン ミドルウェアで、特定の URI ルートを除外して、CSRF 保護から除外することができます。たとえば、ルート ファイル内:

<code class="php">protected $except = [
        '/route_you_want_to_ignore',
        '/route_group/*'
    ];</code>

419 POST エラーのその他の潜在的な原因には次のものがあります。

  • Laravel バージョンの不一致: Laravel がバージョンはプロジェクトの要件に対応しています。
  • サーバー構成エラー: Apache または Nginx 構成に関連するエラーがないかサーバー ログを確認してください。
  • 古いセッション データ: 場合によっては、ブラウザ内の古いセッション データが 419 エラーの原因となることがあります。ブラウザのキャッシュと Cookie をクリアすると、問題が解決する可能性があります。

以上がLaravel AJAX リクエストで 419 POST エラーが発生するのはなぜですか? それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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