массив php в массив js дает неопределенную переменную, так как php arr существует и использовался несколько раз до - PullRequest
0 голосов
/ 21 октября 2019

Я знаю, что это дубликат, но я не могу найти свой ответ между ответами на другие вопросы, поэтому, пожалуйста, помогите.

Я пытаюсь получить массив php в массив javascript. Мой редактор кода (phpStorm) выдает ошибку в коде, что $survey является неопределенной переменной, мой браузер выдает ту же ошибку в журнале консоли, за исключением файла javascript.

Я пытался dd($survey), он существует, и я использую его во всем моем HTML-файле. Я также пытался json_encode php массив, выдает те же ошибки.

dd ($ survey):

"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 []
]
]

Мой HTML-заголовок:

<script>
    let wholeSurvey = <?php $survey['data'] ?> ;
</script>

ИтакНаверное, мой вопрос в том, как я могу получить $survey в целом опросе.

Извините за грамматические или орфографические ошибки.

Ответы [ 4 ]

0 голосов
/ 21 октября 2019

Вы можете использовать директиву лезвия @json:

<script>
  let wholeSurvey = @json($survey['data']);
</script>
0 голосов
/ 21 октября 2019

Вам не хватает echo, также кодировка JSON:

const survey = <?php echo json_encode($survey["data"]);?>;
0 голосов
/ 21 октября 2019

Контроллер:

return view('view', compact('survey'));

Ваш шаблон лезвия:

const wholeSurvey = {!! json_encode($survey) !!},
0 голосов
/ 21 октября 2019
<script>
        let wholeSurvey = JSON.parse('<?php echo json_encode($survey['data']); ?>');
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...