gpt4 book ai didi

javascript - 在 Javascript 中访问 Controller 变量的最佳方法是什么?

转载 作者:行者123 更新时间:2023-11-28 18:44:36 26 4
gpt4 key购买 nike

Controller

在我的 Controller 中,我在这个变量中存储了一个数组$month_g

dd($month_g);

我得到了

array:12 [▼
0 => array:2 [▼
"up_bytes" => 277664452
"down_bytes" => 198868462
]
1 => array:2 [▼
"up_bytes" => 0
"down_bytes" => 0
]
2 => array:2 [▶]
3 => array:2 [▶]
4 => array:2 [▶]
5 => array:2 [▶]
6 => array:2 [▶]
7 => array:2 [▶]
8 => array:2 [▶]
9 => array:2 [▶]
10 => array:2 [▶]
11 => array:2 [▶]
]

return view('page.index', get_defined_vars());

我希望能够在我的 JS/View 中访问此变量。

<小时/>

查看

index.blade.php

我已经尝试过

@extends('layouts.internal.master')
@section('content')

..... // content in HTML

@stop

@section('pagescripts')
<script>
console.log('{{$month_g}}');
</script>
@stop
<小时/>

结果

我不断得到

htmlentities() expects parameter 1 to be string, array given

但是console.log()能够打印出数组。

<小时/>

问题

如何console.log输出该信息?我在这里错过了什么?

在 Javascript 中访问 Controller 变量的最佳方式是什么?

最佳答案

如果 $month_g 是 PHP 数组,您需要首先将其转换为 JSON,以便 javascript 可以使用它。

<script>
var month_g = <?php echo json_encode($month_g) ?>;

console.log(month_g);
</script>

PHP 的 json_encode 方法是将 PHP 变量输出为 javascript 变量的最安全方法。即使您认为变量是整数或简单字符串,为了安全起见,json_encode 无论如何都会对其进行编码。

旁注,如果您愿意,您还可以使用 Laravel 的方式代替 PHP 标签。请注意,您需要使用 {!! 而不是 {{,这样输出就不会被转义。

<script>
var month_g = {!! json_encode($month_g) !!};

关于javascript - 在 Javascript 中访问 Controller 变量的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35585223/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com