📅  最后修改于: 2023-12-03 15:02:37.211000             🧑  作者: Mango
在 Laravel 中,我们通常需要将 PHP 数组传递给 Javascript 以供前端使用。这个过程比较简单,下面我们就来介绍如何实现。
首先,我们可以直接在视图中使用 Laravel 自带的 @json
指令来将数组转化为 JSON 字符串,并使用 Javascript 将其转为对象。
<script>
var data = @json($data);
console.log(data);
</script>
以上代码中,$data
即为我们要传递给 Javascript 的数组变量。@json
指令会将其转化为 JSON 字符串,之后通过 var data
声明一个 JavaScript 变量,并将其等于转化后的 JSON 字符串。最后,我们可以在控制台中查看 data
变量接收到的信息。
除去上述方法,我们还可以在控制器中处理数组并将其传递给视图。下面我们来介绍如何在控制器中将一个数组传递给视图。
public function index()
{
$data = [
'name' => '张三',
'age' => 22,
'gender' => '男'
];
return view('home', compact('data'));
}
以上代码中,我们声明了一个名为 $data
的数组变量,并在视图中将其传递给了名为 home
的视图。其中, compact
函数可以将其参数作为变量名,将对应变量的值作为参数传递给所在函数。
在视图中,我们可以使用 @foreach
指令来遍历数组并显示其具体信息。代码如下所示:
<script>
var data = @json($data);
console.log(data);
</script>
<table>
@foreach($data as $key => $value)
<tr>
<td>{{ $key }}</td>
<td>{{ $value }}</td>
</tr>
@endforeach
</table>
以上代码中,我们首先使用 json
指令将 $data
数组转化为 JSON 字符串,并将转化后的字符串赋值给了 JavaScript 变量 data
。之后,我们使用 @foreach
指令遍历了 $data
数组,并使用 {{ $key }}
和 {{ $value }}
输出了数组中每一项的键名和键值。
以上就是将 Laravel 数组传递给 Javascript 并在视图中使用的方法。无论采用哪种方法,我们都可以很方便地在 Laravel 应用中使用 JavaScript 进行 DOM 操作和 AJAX 请求等操作。