📜  laravel 数组到 js - Javascript (1)

📅  最后修改于: 2023-12-03 15:02:37.211000             🧑  作者: Mango

Laravel 数组到 js - Javascript

在 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 请求等操作。