'405 (Method Not Allowed) on post method laravel ajax

I get an 405 (Method Not Allowed) error when sending an AJAX request. I've been working hard looking for a solution but still receive the same error.

I have added this inside the header section:

<meta name="csrf-token" content="{{ csrf_token() }}">

And this is the AJAX code:

function AjaxCall() {
  var token = $('meta[name="csrf-token"]').attr('content');
  
  $.ajax({
    url: 'insertNum',
    type: 'POST',
    dataType: 'json',
    header: {
      'X-CSRF-TOKEN': token
    },
    data: {
      _token: token,
      _method: "PUT",
    },
    success: function() {
      console.log('success');
    }
  });
}

Laravel code:

try {
  $lastNum = DB::table('no_antrian')->select('antrian')->first();

  if (!is_null($lastNum)) 
  {    
    $data = DB::table('no_antrian')->update(['antrian' => $lastNum + 1]);
  }

  return response()->json(['success' => 'Sukses']);
}
catch(\Exception $e) {
  return response()->json(['error' => 'failed']);
}

Route:

Route::post('antrian/insertNum', [AntrianController::class, 'getQueueNum']);


Solution 1:[1]

please Remove put method inside data

 var token = $('meta[name="csrf-token"]').attr('content');
 let myData = $('form').find('input[name="my_data"]').val();
  
  $.ajax({
    url: 'insertNum',
    type: 'POST',
    dataType: 'json',
    data: {
      _token: token,
       my_data: myData
    },
    success: function() {
      console.log('success');
    }
  });

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Engr Talha