Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

767
Visualizações
Laravel por qué el registro no se actualiza usando vuejs

Estoy tratando de actualizar el texto cuando envío una solicitud al controlador de Laravel, pero recibo un error:

 500 internal server error Uncaught (in promise) Error: Request failed with status code 500

console.log muestra texto y valores que estoy tratando de enviar al controlador:

 id:16 text:aa

código vuejs:

 const onEdit=(todo)=>{ // var src = evt.target.innerHTML // this.txt = src axios .put('http://127.0.0.1:8000/api/todo/update', { id:todo.id, text:todo.text }) .then(() => getTodos()); console.log("working", todo.text, todo.id); };

Controlador Laravel:

 public function updateData(Request $request) { $todo = Todo::find($request->id); $todo->update($request->all()); return response()->json([ 'message' => 'updated' ]); }

Ruta:

 Route::put('todo/update',[TodoController::class,'updateData']);

Modelo:

 <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Todo extends Model { use HasFactory; protected $dates = [ 'created_at', 'updated_at', ]; protected $fillable = ['id']; }

ingrese la descripción de la imagen aquí

ACTUALIZAR:

Revisé el registro de laravel y obtuve el error:

 Add [id] to fillable property to allow mass assignment on [App\Models\Todo].

Luego agregué id en el modelo. ahora veo la respuesta a continuación en el registro de la consola, pero no está actualizando los datos.

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Un error 500 es un error genérico del lado del servidor.

En primer lugar, edite su función onEdit para agregar una catch para que pueda consolar el registro del error del servidor.

 const onEdit = (todo) => { axios.put('http://127.0.0.1:8000/api/todo/update', { id: todo.id, text: todo.text }).then(response => { console.log(response) getTodos() }).catch(error => { console.log(error) }) };

Una vez que sepa cuál es el error del servidor, sabrá qué corregir.

over 4 years ago · Santiago Trujillo Relatório

0

El problema es con Todo Model, donde permitió que el campo de id se pudiera completar. Dado que la identificación es un incremento automático archivado en la base de datos, el campo de texto debe ser rellenable.

 protected $fillable = ['id'];

así que aquí tiene dos opciones. Una es permitir que la propiedad $fillable se pueda rellenar en el campo de text o proteger la propiedad de identificación para que todas las demás propiedades se puedan rellenar.

Asi que

 protected $guarded=['id'];

o

 protected $fillable=['text'];
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda