Tudo ocorre perfeitamente, eu atualizo o input muda o nome e tals porem em vez de aparece o codigo 200 aparece o 500, não sei o por que ja que tudo esta funcionando
index
@extends("layout")
@section("cabecalho")
Series
@endsection
@section("conteudo")
@if(!empty($mensagem))
<div class="alert alert-success">
{{$mensagem}}
</div>
@endif
</br>
<a href="/Series/Create" class="btn btn-dark mb-2">Adicionar</a>
<ul class="list-group">
@foreach($series as $serie)
<li class="list-group-item d-flex justify-content-between align-items-center">
<span id="nome-serie-{{ $serie->id }}">{{ $serie->nome }}</span>
<div class="input-group w-50" hidden id="input-nome-serie-{{ $serie->id }}">
<input type="text" class="form-control" value="{{ $serie->nome }}">
<div class="input-group-append">
<button class="btn btn-primary" onclick="editarSerie({{ $serie->id }})">
<i class="fas fa-check"></i>
</button>
@csrf
</div>
</div>
<span class="d-flex">
<a href="Series/{{$serie->id}}/temporadas" class="btn btn-info btn-sm mr-1" ><i class="fas fa-external-link-alt "></i></a>
<button class="btn btn-info btn-sm mr-1" onclick="toggleInput({{$serie->id}})"><i class="fas fa-edit"></i></button>
<form method="POST" action="/Series/Remover/{{$serie->id}}" onsubmit="return confirm('certeza que quer remover {{addslashes($serie->nome)}}?')">
@csrf
<button class="btn btn-danger btn-sm"><i class="far fa-trash-alt"></i></button>
</form>
</span>
</li>
</ul>
@endforeach
<script>
function toggleInput(serieId){
if(document.getElementById(`nome-serie-${serieId}`).hasAttribute("hidden")){
document.getElementById(`nome-serie-${serieId}`).removeAttribute("hidden");
document.getElementById(`input-nome-serie-${serieId}`).hidden = true;
}else{
document.getElementById(`input-nome-serie-${serieId}`).removeAttribute("hidden");
document.getElementById(`nome-serie-${serieId}`).hidden = true;
}
}
function editarSerie(serieId){
let formData = new FormData();
const nome = document.querySelector(`#input-nome-serie-${serieId} > input`).value;
const token = document.querySelector('input[name="_token"]').value;
formData.append('nome', nome);
formData.append('_token', token);
const url = `/Series/${serieId}/editaNome`;
fetch(url, {body: formData, method: 'POST'}).then(() => {
toggleInput(serieId);
document.getElementById(`nome-serie-${serieId}`).textContent = nome;
});
}
</script>
@endsection
A function do controller
public function editaNome(Request $request){
$nome = $request->nome;
$serie = Serie::find($request->id);
$nomeAntigo = $serie->nome;
$serie->nome = $nome;
$serie->save();
$request->flat("mensagem","A serie $nomeAntigo agora se chama $serie->nome");
}