ホームページ > バックエンド開発 > PHPチュートリアル > Laravelで「AJAX POSTリクエストのCSRFトークンの不一致」を修正する方法は?

Laravelで「AJAX POSTリクエストのCSRFトークンの不一致」を修正する方法は?

DDD
リリース: 2024-12-10 07:51:14
オリジナル
819 人が閲覧しました

How to Fix

Laravel での AJAX POST リクエストの CSRF トークンの不一致の解決

Laravel で AJAX POST リクエストを行う場合、CSRF トークンを含めることが不可欠です。クロスサイト リクエスト フォージェリ攻撃を防ぎます。この記事では、「ajax POST リクエストの CSRF トークンの不一致」の問題に対処します。

問題の説明

データベースからデータを削除しようとしています。 AJAX リクエストを介して。 HTML には、クリックすると削除をトリガーするリンクが含まれています。対応する AJAX コードは、特定の URL に POST リクエストを送信します。ただし、削除は失敗し、「CSRF トークンが一致しません」エラーが表示されます。

解決策

この問題を解決するには、AJAX に CSRF トークンを含める必要があります。リクエスト。これは、データ パラメーターに次の行を追加することで実行できます:

data: {
        "_token": "{{ csrf_token() }}",
        "id": id
        }
ログイン後にコピー

ここで、id は削除しようとしているレコードの ID を表します。このトークンにより、サーバーは削除操作を実行する前にリクエストを検証します。

更新された AJAX コード

CSRF トークンが含まれる更新された AJAX コードは次のとおりです。

$('body').on('click', '.delteadd', function (e) {
e.preventDefault();
//alert('am i here');
if (confirm('Are you sure you want to Delete Ad ?')) {
    var id = $(this).attr('id');
    $.ajax({
        method: "POST",
        url: "{{url()}}/delteadd",
        data: {
        "_token": "{{ csrf_token() }}",
        "id": id
        }
}).done(function( msg ) {
        if(msg.error == 0){
            //$('.sucess-status-update').html(msg.message);
            alert(msg.message);
        }else{
            alert(msg.message);
            //$('.error-favourite-message').html(msg.message);
        }
    });
} else {
    return false;
}
});
ログイン後にコピー

AJAX リクエストに CSRF トークンを含めることにより、リクエストはサーバーによって検証され、削除操作は「CSRF トークンの不一致」エラーが発生することなく成功します。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート