2
這是如何解釋的?TokenMismatchException ajax請求上的RANDOM Laravel
- 乾淨安裝Laravel
- 使用Redis的會話和緩存
- 的問題,如果我在Windows上啓動服務器時,只顯示在Chrome纔會發生。
使用了Ajax調用一個簡單的js函數:
$.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, data: { _token: $('meta[name="csrf-token"]').attr('content') } }); for(var i = 0; i < 5; i++){ getUsers(); } function getUsers() { $.ajax({ url: '/users', type: 'POST', success: function(data) { console.log(data); } }); }
在元
<meta name="csrf-token" content="{{ csrf_token() }}" />
設置CSRF返回了數據的JSON:
公共功能的用戶(){
$users = User::all(); return response()->json([ 'users' => $users, ]);
}
在視頻的最後,您可以看到RANDOM TokenMismatchException,即使令牌永遠不會改變,但有時會發生錯誤。
https://www.youtube.com/watch?v=QDucHoP647g
我知道這個問題已經從討論多年,但爲什麼不存在一個解決方案?
我也發佈在laravel github上,但沒有解決方案沒有解決我的問題。
這是一個例子。假設我將在該POST /用戶上插入一個插入。錯誤將會發生。從我的測試中我發現TokenMismatchException的問題只有在我點擊記住我時纔會發生。 (我刪除了一個令牌併發送一次)。 –
這實際上不是對作者問題的回答。 – antongorodezkiy