Laravel提交POST请求报错
生活随笔
收集整理的這篇文章主要介紹了
Laravel提交POST请求报错
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
提交POST請求出現如下錯誤:
1 The page has expired due to inactivity 2 3 Please refresh and try again這是由于在Laravel框架中有此要求:
任何指向 web 中 POST, PUT 或 DELETE 路由的 HTML 表單請求都應該包含一個 CSRF 令牌(CSRF token),否則,這個請求將會被拒絕。
?
解決辦法? 1: 加上 CSRF token
1 <form method="POST" action="/profile"> 2 {{ csrf_field() }} 3 ... 4 </form>也可以最新寫法
1 <form method="POST" action="/profile"> 2 @csrf 3 ... 4 </form>?
如果是AJAX提交:
在頁面頭部加上csrf-token:
1 <meta name="csrf-token" content="{{ csrf_token() }}">提交headers中增加 X-CSRF-TOKEN:
1 $.ajaxSetup({ 2 headers: { 3 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 4 } 5 });?
解決辦法? 2: 移除 CSRF token
也可以在指定頁面移除CSRF保護:
/app/Http/Middleware/VerifyCsrfToken.php
1 <?php 2 3 namespace App\Http\Middleware; 4 5 use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware; 6 7 class VerifyCsrfToken extends Middleware 8 { 9 /** 10 * The URIs that should be excluded from CSRF verification. 11 * 12 * @var array 13 */ 14 protected $except = [ 15 'stripe/*', 16 'http://example.com/foo/bar', 17 'http://example.com/foo/*', 18 ]; 19 }?
轉載于:https://www.cnblogs.com/cxx8181602/p/11021817.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的Laravel提交POST请求报错的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Node基础: 回调函数 2
- 下一篇: rtp发送 h265