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

291
Visualizações
¿Por qué el ajax no puede almacenar los datos en la base de datos?

PIC Mi objetivo es cuando presiono enter, los datos de entrada se guardarán en la base de datos.

El controlador:

 public function sendMessage(Request $request){ $data = Message::create([ 'from' => Auth::user()->id, 'to' => $request->receiver_id, 'message' => $request->message, 'is_Read' => 0, ]); $data->save(); }

La forma:

 <div class="card-footer"> <form id="message_form"> <div class="input-group"> <div class="input-group-append"> <span class="input-group-text attach_btn"><i class="fas fa-paperclip"></i></span> </div> <input type="text" name="message" id="message_input" class="form-control type_msg" placeholder="Type your message..."> </div> </form>

El código ajax:

 $(document).on('keyup', '.input-group input', function (e) { var message = $(this).val(); var url = '{{ url('message') }}'; // check if enter key is pressed and message is not null also receiver is selected if (e.keyCode == 13 && message != '' && receiver_id != '') { $(this).val(''); // while pressed enter text box will be empty var datastr = "receiver_id=" + receiver_id + "&message=" + message; $.ajax({ type: "post", url: '/message', // need to create this post route data: datastr, cache: false, success: function (data) { console.log(data) }, error: function (jqXHR, status, err) { }, complete: function () { } }) } })

La ruta:

 Route::post('message', [ConsultationController::class, 'sendMessage']);

Y como resultado, los datos no están en la base de datos y no hay notificación de error. Como puedo resolver esto? Por favor ayuda :)

Intento eliminar la declaración If en el código ajax, y esto sucede (500 ... (Error interno del servidor)) PIC :

 POST http://127.0.0.1:8000/message 500 (Internal Server Error) send @ jquery.min.js:2 ajax @ jquery.min.js:2 (anonymous) @ consultation?message=adfadf:399 dispatch @ jquery.min.js:2 v.handle @ jquery.min.js:2
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

¿Agregó sus columnas en la propiedad $fillable en el modelo Message?

over 4 years ago · Santiago Trujillo Relatório

0

Su código se ve bien, solo necesita tener en cuenta que en cada solicitud de publicación / colocación / eliminación, laravel requiere un token csrf para validar. Puede leer más sobre esta seguridad en la documentación de laravel .

Debe agregar esto en su solicitud de ajax.

 $.ajax({ type: "post", url: '/message', // need to create this post route data: { receiver_id, message, }, headers: { // Add this 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }, cache: false, success: function (data) { console.log(data) }, error: function (jqXHR, status, err) { }, complete: function () { } })
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