Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

287
Vistas
¿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 Respuestas
Responde la pregunta

0

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

over 4 years ago · Santiago Trujillo Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda