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

434
Vistas
Laravel Livewire: ¿Es posible usar AJAX?

El lenguaje de programación que hemos utilizado es: Laravel Livewire.

En la aplicación hay 2 usuarios: 1) Miembro; 2) administración.

Tenemos un módulo llamado "Actividades" donde el administrador solo puede crear, leer, actualizar e inactivo/activo mientras que el Miembro tiene un tablero donde puede ver todas las actividades activas.

Implementé fullCalendar, logré obtener y mostrar los datos. Ahora lo que quiero es que cuando se haga clic en la actividad, se mostrarán los detalles de la actividad usando modal.

Controlador

 public function getActivityDetails(Request $request) { $data = $request->all(); $activity = Activity::where('id',$data['id']); dd($activity); return response()->json($activity); }

Vista

 <script> $(document).ready(function(){ $.ajaxSetup({ headers:{ 'X-CSRF-TOKEN' : $('meta[name="csrf-token"]').attr('content') } }); var activities = @json($activities); var calendar = $('#calendar').fullCalendar({ header:{ left: 'prev,next today', center: 'title', right: 'month,agendaWeek, agendaDay' }, events: activities, selectable: true, selectHelper: true, selectable: true, eventClick: function(event) { if (event.id) { $.ajax({ url: "/members-dashboard/getActivityDetails", type: "POST", data: { id: event.id }, success:function(data){ console.log(data); } }) } } // select: function(start, end, allDays){ // var value = $(this).val(); // console.log(value); // $('#exampleModal').modal('toggle'); // } }); function successResponse(data) { calendar.fullCalendar('refetchEvents'); } }); </script>

WEB

 use App\Http\Livewire\MembersPortal\MembersDashboard\ActivityDetails; Route::post('/members-dashboard/getActivityDetails',MembersDashboard::class,'getActivityDetails')->middleware((['auth']));

NOTA: Cuando traté de consola. registrar los datos, me da todo el html

Pregunta: ¿Cómo puedo devolver el valor en mi controlador?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Creo que podrías usar dos componentes.

Actividades y componentes ActivitiyDetails.

El primer componente obtendrá todas las actividades y cargará los detalles de la actividad en el método de montaje.

 $public Activity $activities; public function mount(){ $this->activities= Activity::with('details')->where(...); }

Después de eso, en su vista tendrá todas sus actividades y los detalles de las actividades relacionadas, evitando usar JQuery para obtener detalles de cada actividad.

El segundo componente podría ser ActivityDetail, que aceptará un parámetro de tipo objeto ActivityDetail.

en tu vista

 <div> @foreach ($activities as $activity) <livewire:activity-detail :post="$activity->details"> @endforeach </div>

Espero esta ayuda.

about 4 years ago · Juan Pablo Isaza 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