![](/img/trans.png)
[英]How to pass an array data from controller to blade file Laravel
[英]How to get array from controller on javascript blade in Laravel
我正在做一个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"]
我想从此数组获取列表。 对此,任何建议或指导将不胜感激。
您可以在frotend中进行ajax调用,而后端可以这样做
$dicomfilearray = json_encode($dicom->pluck('filename'))->toArray());
return view('xray.view')->withDicomfilearray($dicomfilearray);
当您使用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 }}';
您可以执行类似的操作,并且如果要将变量传递给外部javascript文件,这甚至可以工作。 您要做的就是调用带有传递参数的init函数。
<script>
$(function () {
init({{ json_encode($dicomfilearray) }} });
function init(dicomfilearray){
//use your variable here
}
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.