title: Method not allow (PUT) With AJAX Call in Laravel 5.2
body: <p>My Blade is:</p>
  
  <pre><code>{!! Form::open(['method' =&gt; 'PUT', 'id' =&gt; 'confirmTCU',
                                      'action' =&gt;  ['TournamentUserController@confirmUser', $tournament-&gt;slug, $categoryTournament-&gt;id,$user-&gt;slug  ]]) !!}
  </code></pre>
  
  <p>It generates my Form:</p>
  
  <pre><code>&lt;form method="POST" action="http://laravel.dev/tournaments/bisque/categories/1/users/admin/confirm" accept-charset="UTF-8" id="confirmTCU"&gt;
  &lt;input name="_method" type="hidden" value="PUT"&gt;
  &lt;input name="_token" type="hidden" value="tiaIHtctMbo1NwbEK8TqoKOyrN8ZSyeQELSyYL9A"&gt;
  
  &lt;button type="submit" class="btn btn-flat text-warning-600 btnConfirmTCU" id="confirm_bisque_1_admin" data-tournament="bisque" data-category="1" data-user="admin"&gt;
      &lt;i class="text-danger glyphicon glyphicon-remove-sign"&gt;&lt;/i&gt;
  &lt;/button&gt;
  &lt;/form&gt;
  </code></pre>
  
  <p>My AJAX is: </p>
  
  <pre><code>$('.btnConfirmTCU').on('click', function (e) {
      e.preventDefault();
      $(this).prop("disabled", true);
  
      var inputData = $('#formDeleteTCU').serialize();
      //var tournamentSlug      =   $(this).data('tournament');
      var categoryId          =   $(this).data('category');
      var userSlug            =   $(this).data('user');
  
      $.ajax(
          {
              type: 'PUT',
              url: url + '/categories/' + categoryId + '/users/' + userSlug + '/confirm',
              data: inputData,
              success: function (data) {
                          ...
              },
              error: function (data) {
                          ...
              }    
          }
      )
  });
  </code></pre>
  
  <p>My route is:</p>
  
  <pre><code>Route::put('tournaments/{tournamentId}/categories/{categoryTournamentId}/users/{userId}/confirm', 'TournamentUserController@confirmUser');
  </code></pre>
  
  <p>My Controller is:</p>
  
  <pre><code>public function confirmUser($tournamentSlug, $tcId, $userSlug)
  {
      $user = User::findBySlug($userSlug);
      $ctu = CategoryTournamentUser::where('category_tournament_id', $tcId)
          -&gt;where('user_id', $user-&gt;id)-&gt;first();
  
      $ctu-&gt;confirmed ? $ctu-&gt;confirmed = 0 : $ctu-&gt;confirmed = 1;
      $ctu-&gt;save();
      return redirect("tournaments/$tournamentSlug/users");
  }
  </code></pre>
  
  <p>I saw a lot of topics about it, but none resolved my issue.</p>
  
  <p>As PUT is not allowed for most of browser, Laravel send it like POST, but includes a hidden field _method with PUT value.</p>
  
  <p>Beside, I am able to perform DELETE actions, but not PUT...</p>
  
  <p>Besides, method works perfect when not using AJAX.</p>
  
  <p>Where is my problem???</p>