Laravel 5.5 AJAX 呼び出し: 「419 (不明なステータス)」エラーの解決
Laravel 5.5 で AJAX リクエストを実行すると、次のような問題が発生する可能性があります。 「419 (不明なステータス)」エラー。これは通常、クロスサイト リクエスト フォージェリ (CSRF) トークンの検証に関する問題を示しています。
Laravel の CSRF 保護について
Laravel の CSRF 保護メカニズムにより、不正なリクエストが送信されるのを防ぎます。あなたのウェブサイト。これは、すべての POST リクエストに含める必要がある一意のトークンを生成することによって行われます。
419 エラーの修正
419 エラーを修正するには、次のことを確認する必要があります。 AJAX リクエストは CSRF トークンによって適切に保護されています。これは 2 つの手順で実行できます。
HTML ヘッダーで CSRF トークンを生成します:
<meta name="csrf-token" content="{{ csrf_token() }}">
$.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } });
実装例
$('.company-selector li > a').click(function(e) { e.preventDefault(); var companyId = $(this).data("company-id"); $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }); $.ajax({ url: '/fetch-company/' + companyId, dataType: 'json', type: 'POST', data: {}, contentType: false, processData: false, success: function(response) { console.log(response); } }); });
CSRF トークン保護を使用した AJAX 呼び出しの更新バージョンを次に示します:
これらの変更を組み込むことで、AJAX リクエストは保護されますCSRF 攻撃に対して、「419 (不明なステータス)」エラーを解決します。以上がLaravel 5.5 AJAX「419 (不明なステータス)」CSRFエラーを解決する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。