Mengatasi Error “CSRF token mismatch” di Laravel

Cara mengatasi error “CSRF token mismatch” di Laravel. Solusi agar form dan AJAX request tidak gagal karena token CSRF.

laravel csrf token mismatch laravel form csrf error ajax csrf laravel laravel page expired

📂 Laravel | ✍ Kurnia Andi Nugroho | 🎯 Beginner ✅ Telah dilihat 39 kali

Mengatasi Error “CSRF token mismatch” di Laravel

Problem

Muncul error saat submit form:

The page has expired due to inactivity. (CSRF token mismatch)

Kasus umum:

<form action="/submit" method="POST">
    @csrf
    <input type="text" name="name">
</form>

Error ini muncul jika:

  • Token CSRF tidak dikirim
  • Session Laravel expired

Solution

 

  1. Pastikan menggunakan @csrf di form
<form action="/submit" method="POST">
    @csrf
    <input type="text" name="name">
</form>
  1. Cek session – pastikan session driver berjalan dengan baik (file, database, redis, dll).

  2. Untuk AJAX, sertakan token di header:

$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
});