Sé que esto es un duplicado, pero no puedo encontrar mi respuesta entre las respuestas de otras preguntas, así que por favor ayuda.
Estoy tratando de obtener una matriz php en una matriz javascript. Mi editor de código (phpStorm) da el error en el código de que $survey
es una variable indefinida, mi navegador da el mismo error en el registro de la consola, excepto en el archivo javascript.
He intentado dd($survey)
, existe y lo uso en todo mi archivo html. También he intentado json_encode la matriz php, da los mismos errores.
Dd ($ encuesta):
"data" => array:11 [
"id" => 2315
"name" => ""
"formFolderId" => 703
"createdAt" => "2019-10-14 14:55:03"
"updatedAt" => "2019-10-14 14:55:03"
"formCategories" => array:11 [
0 => array:7 [
"id" => 14048
"name" => ""
"formId" => 2315
"createdAt" => "2019-10-14 14:55:03"
"updatedAt" => "2019-10-14 14:55:03"
"formQuestions" => array:4 [
0 => array:26 [
"id" => 158233
"name" => ""
"formCategoryId" => 14048
"type" => "radio"
"createdAt" => "2019-10-14 14:55:03"
"updatedAt" => "2019-10-14 14:55:03"
"formOptions" => array:6 []
]
]
Mi cabeza html:
<script>
let wholeSurvey = <?php $survey['data'] ?> ;
</script>
Así que supongo que mi pregunta es cómo puedo obtener $survey
en wholeSurvey.
Perdón por errores gramaticales o de ortografía.
4 respuestas
Controlador:
return view('view', compact('survey'));
Su plantilla de cuchilla:
const wholeSurvey = {!! json_encode($survey) !!},
<script>
let wholeSurvey = JSON.parse('<?php echo json_encode($survey['data']); ?>');
</script>
Te falta echo
, también la codificación json:
const survey = <?php echo json_encode($survey["data"]);?>;
Puedes usar la directiva blade @json:
<script>
let wholeSurvey = @json($survey['data']);
</script>
Preguntas relacionadas
Nuevas preguntas
javascript
Para preguntas sobre la programación en ECMAScript (JavaScript / JS) y sus diversos dialectos / implementaciones (excepto ActionScript). Incluya todas las etiquetas relevantes en su pregunta; por ejemplo, [node.js], [jquery], [json], etc.