Hola, soy nuevo en Laravel y tengo problemas para pasar la solicitud correctamente en mi controlador, que es un recurso para la función de actualización. Estoy usando Laravel 8. No hay ningún error con la sintaxis, solo devuelve que la solicitud está vacía. Pego mi código para referencias.
mi solicitud AJAX
let url = '/companystructure/1'; $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }); $.ajax({ url: url, type: "PATCH", data: { 'fullname' : 'albert' }, processData: false, contentType: false, success: function(response) { console.log(response); //alert(response); //location.reload(); }, error: function (xhr, ajaxOptions, thrownError) { var error = $.parseJSON(xhr.responseText) || thrownError; var errorMsg = error['message'] || thrownError; var errorObj = error.errors || []; if (errorObj) { Object.keys(errorObj).forEach(function (key){ if (errorObj[key][0].length <= 1 ) { errorMsg = errorMsg + '<br/>' + errorObj[key]; } else { errorMsg = errorMsg + '<br/>' + errorObj[key][0]; } }); } md.showNotification(errorMsg, 'danger'); } });y aquí está el controlador
public function update(Request $request, $id) { return response()->json($request); }y aqui esta mi ruta
Route::resource('companystructure', CompanyStructureController::class);este es el retorno que recibo de mi controlador
type: 'PATCH' no existe en los métodos HTTP, por lo que Laravel no lo reconocerá. Prueba esto:
let url = '/companystructure/1'; $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }); $.ajax({ url: url, type: "POST", /// UPDATE data: { 'fullname' : 'albert', '_method': 'PATCH', /// UPDATE }, processData: false, contentType: false, success: function(response) { console.log(response); //alert(response); //location.reload(); }, error: function (xhr, ajaxOptions, thrownError) { var error = $.parseJSON(xhr.responseText) || thrownError; var errorMsg = error['message'] || thrownError; var errorObj = error.errors || []; if (errorObj) { Object.keys(errorObj).forEach(function (key){ if (errorObj[key][0].length <= 1 ) { errorMsg = errorMsg + '<br/>' + errorObj[key]; } else { errorMsg = errorMsg + '<br/>' + errorObj[key][0]; } }); } md.showNotification(errorMsg, 'danger'); } });