laravel フレームワークでは、post メソッドまたは put メソッドを使用してリクエストを行うと、VerifyCsrfToken.php 行 67 の TokenMismatchException エラーが報告されることがあります。その理由は、laravel ではデフォルトで反 CSRF がオンになっているためです。
この問題を解決するには2つの方法があり、1つはリクエスト時にトークン値を送信する方法、もう1つはCSRFを防ぐ際にリクエストされたルートを除外する方法です
方法1:トークン値を渡す
ときフォーム送信時:
<form action="photo/12" method="post"> <?php echo method_field('PUT'); ?> <?php echo csrf_field(); ?> <input type="submit" name="提交" /> </form>
AJAXリクエスト使用時:
<meta name="csrf-token" content="{{ csrf_token() }}">$.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } });
方法2: 指定したURLをCSRF保護から除外する
URLは http://laravel.com/ photo/12. ここで、写真リソースに関連するルートを除外する場合は、次のように AppHttpMiddlewareVerifyCsrfToken::class にルートを追加します。
protected $except = [ 'photo', 'photo/*', ];
メソッド 2 は写真関連のルート保護に対して CSRF を実行できないことに注意してください。 , 実際の状況に応じて選択してください
上記がこの記事の全内容です。laravelの詳細については、laravelフレームワーク入門チュートリアルを参照してください。
おすすめ関連記事:
Ajax フォーム送信エラー検証を実装するための laravel5.4 フレームワークの Vue.js
関連ビデオの推奨:
2017年最新 5つのおすすめLaravelビデオチュートリアル
以上がlaravelフレームワークにおけるTokenMismatchExceptionの例外処理内容の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。