Laravel CSRF token mismatch for ajax Request

The CSRF token mismatch error is occurred when you are trying to access you Laravel API routes or URL using ajax without passing CSRF token in it. This is the key to access the Laravel application using ajax post request. There are some of the following ways to fix this error and send the token in your ajax request.

1. By Using $.ajaxSetup Method:

  • In Header:
    <meta name="csrf-token" content="{{ csrf_token() }}" />
  • In Script:
    <script type="text/javascript">
    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
    });
    </script>

2. By Passing in ajax data object:

data: {
    "_token": "{{ csrf_token() }}",
    .....
}

3. By Passing in ajax header attribute:

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

// your ajax will be look like 

$.ajax({
    type:'POST',
    url:'/ajax',
    headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
    success:function(data){
        console.log(data);
    }
});

As for now and for my experience these are few methods, that can help you to resolve the CSRF token mismatch issue in your Laravel ajax request.

To get to know more about other JQuery topics, you can check these articles too and also you can check other ajax related topics and issues resolutions here.

Please follow and like us:

Related Posts

Leave a Reply

Share