ho questa risorsa in routes.php:Metodo non consentita quando PUT utilizzato nel corso AJAX per la risorsa laravel
Route::resource('items', 'ItemsController', ['before' => 'admin_access']);
Prova di raggiungere [email protected]
metodo attraverso l'AJAX ma è calciando fuori un errore di 405 Method not allowed
:
var $inputs = $('input', row);
var id = $(row).find('.edit').data('id');
var data = $inputs.serializeJSON();
data['_token'] = $('input[name=_token]').val();
data['_method'] = 'PUT';
console.debug(data);
$.ajax({
url: 'items/' + id,
method: 'PUT',
dataType: 'json',
data: data,
complete: function (data) {
if (data.success) {
itemsTable.ajax.reload();
}
}
});
Entrambe le variabili id
e data
contengono le informazioni corrette.
Questo funziona correttamente quando si esegue l'invio di un modulo standard con PUT come metodo (utilizzando il metodo di apertura anahkiasen/Former
).
Cosa mi manca qui?
A giudicare dal messaggio di errore (che sembra provenire dal server) e dal poco che ho letto su Laravel, questo sembra essere il caso dell'URL di richiesta PUT e il gestore di route non è allineato e quindi Laravel non trova un gestore per quella combinazione e quindi restituisce 405. – jfriend00