Как получить массив из контроллера на Javascript Blade в Laravel - PullRequest
0 голосов
/ 07 июня 2019

Я работаю над проектом laravel и пытаюсь передать массив из контроллера в javascript. Следующий код взят из моего контроллера.

 $dicomfilearray = $dicom->pluck('filename')->toArray();
 return view('xray.view')->withDicomfilearray($dicomfilearray);

А ниже находится Javascript в файле блейда, которому я пытаюсь его передать.

var dicomarray = '{{ json_encode($dicomfilearray) }}';
console.log(dicomarray);

И ниже приведен лог-результат из Javascript.

["storage/uploads/storeid1/27/10/dicom/c4p4Oco3rU.dcm","storage/uploads/storeid1/27/10/dicom/RNil0NPPzQ.dcm"]

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

Ответы [ 3 ]

1 голос
/ 07 июня 2019

когда вы работаете в javascript и вам нужны данные в javascript, тогда зачем вам нужна view часть. На самом деле, я только что прочитал ваш комментарий. Если в Ajax

, поэтому я предлагаю отправить массив с json_encode и заполнить эти данные с помощью javascript. просто прямо внизу в контроллере

response()->json(['status'=>200,'data'=>$dicomfilearray])

Обновление Итак, вы не отправляете ajax-запрос так просто. делай как ниже.

контроллер: -

$data = json_encode($dicomfilearray);
    return view('your-view',compact('data'));

1019 * Javascript *

var dicomarray = '{{ $data }}';
1 голос
/ 07 июня 2019

Вы можете сделать ajax-вызов в frotend, а backend сделать так

$dicomfilearray = json_encode($dicom->pluck('filename'))->toArray()); 
return view('xray.view')->withDicomfilearray($dicomfilearray);
0 голосов
/ 07 июня 2019

Вы можете сделать что-то вроде этого, и это даже работает, если вы хотите передать переменную во внешний файл javascript.Все, что вам нужно сделать, это вызвать функцию init с переданными параметрами.

 <script>      
    $(function () {
         init({{ json_encode($dicomfilearray) }} });
         function init(dicomfilearray){
        //use your variable here  
      }
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...