【问题标题】:How to get array from controller on javascript blade in Laravel如何从 Laravel 的 javascript 刀片上的控制器获取数组
【发布时间】:2019-06-07 10:21:08
【问题描述】:

我正在开发一个 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"]

我想从这个数组中得到一个列表。对此的任何建议或指导将不胜感激,谢谢。

【问题讨论】:

    标签: javascript laravel


    【解决方案1】:

    前端可以进行ajax调用,后端也可以这样

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

    【讨论】:

    • 亲爱的 Bimal Prasad Pandey,我想返回查看。感谢您的建议。
    • $dicomfilearray = json_encode($dicom->pluck('filename'))->toArray());返回视图('xray.view')->withDicomfilearray($dicomfilearray);
    • 我必须研究另一个新观点,说明为什么我不使用 ajax。无论如何,非常感谢。
    【解决方案2】:

    当您使用 javascript 并需要 javascript 中的数据时,为什么您需要 view 部分。其实,我刚刚看了你的评论。 如果在 Ajax 中

    所以我建议使用json_encode 发送数组并使用javascript 将该数据填充到视图中。 就在控制器的正下方

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

    更新 所以,你没有发送 ajax 请求,很简单。如下所示。

    控制器:-

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

    javascript

    var dicomarray = '{{ $data }}';
    

    【讨论】:

    • 亲爱的 Karan Sadana,不,不是 ajax。
    【解决方案3】:

    你可以做这样的事情,如果你想将变量传递给外部 javascript 文件,这甚至可以工作。您所要做的就是使用传递的参数调用 init 函数。

     <script>      
        $(function () {
             init({{ json_encode($dicomfilearray) }} });
             function init(dicomfilearray){
            //use your variable here  
          }
    </script>
    

    【讨论】:

      猜你喜欢
      • 2017-12-16
      • 2019-09-23
      • 1970-01-01
      • 2021-04-17
      • 2021-08-16
      • 1970-01-01
      • 2019-01-12
      • 1970-01-01
      • 2019-04-13
      相关资源
      最近更新 更多