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

194
Vistas
Pasar una lista de Controller.php a un archivo .js en Laravel

Tengo una lista de números en mi pageController.php

 $half2018 = [235, 1234, 134, 564, 364, 362]; return view('page', 'half2018'=>$half2018);

Llamo a esa variable en mi página.blade.php

 <canvas id="chart_1" class="chart-canvas" data-info="{{ $half2018 }}"></canvas>

Luego, al final de page.blade.php tengo

 <script src="./assets/js/chart.js"></script>

En mi archivo chart.js llamo

 let app = document.getElementById('claims_chart_12'); let info = JSON.parse(app.dataset.id); console.log(info);

Por alguna razón, la biblioteca JSON no está cargada. ¿Es una forma correcta de pasar los datos al archivo .js?

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

0

La sintaxis en su controlador debe ser

 $half2018 = [235, 1234, 134, 564, 364, 362]; return view('page', ['half2018' => $half2018]);

o

 return view('page', compact('half2018'));

En su archivo blade, puede configurar la variable en un atributo data-* después de que se convierta a JSON válido. Utilice comillas simples para ello.

 <canvas id="chart_1" class="chart-canvas" data-info='{{ json_encode($half2018) }}'></canvas>

Creo que esto es equivalente a

 <canvas id="chart_1" class="chart-canvas" data-info='@json($half2018)'></canvas>

Luego, en su js, puede analizar este JSON.

 let canvas = document.getElementById('chart_1'); let info = JSON.parse(canvas.dataset.id); console.log(info);
about 4 years ago · Juan Pablo Isaza Denunciar

0

@IGP señaló mi sintaxis en Controller.php. Después de cambiar la línea en el archivo chart.js a

 let info = JSON.parse(canvas.dataset.info); console.log(info)

entonces obtengo

 [235, 1234, 134, 564, 364, 362]

en mi archivo .js.

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