【发布时间】:2018-03-03 05:36:25
【问题描述】:
我有一个非常简单的 PHP 数组
$array = [];
$array['a'] = '1';
$array['b'] = '2';
$array['c'] = '3';
PHP
如果我 dd($array); 出去了,我得到了
array:3 [▼
"a" => "1"
"b" => "2"
"c" => "3"
]
如果我解码dd(json_encode($array));,我得到了这个
"{"a":"1","b":"2","c":"3"}"
JS
我希望能够在我的 Javascript 中访问这个变量,所以我尝试过
1
console.log($array);
我明白了
$array 未定义
2
我正在使用 Laravel。 {{ }} == echo
console.log('{{$array}}');
我明白了
500 Internal Error
htmlentities() 期望参数 1 是字符串,给定数组(视图:/Users/bheng/Sites/portal/resources/views/cpe/index.blade.php)
3
console.log('{{ json_encode($array)}}');
我明白了
要加载的页面,但数据看起来很糟糕
{"a":"1","b":"2","c":"3"}
4
console.log(JSON.parse('{{ json_encode($array)}}'));
我明白了
Uncaught SyntaxError: Unexpected token & in JSON at position 1
5
console.log(JSON.parse('{{ json_decode($array)}}'));
我明白了
json_decode() 期望参数 1 是字符串,给定数组
6
console.log('{{ json_decode($array)}}');
我明白了
json_decode() 期望参数 1 是字符串,给定数组
目标
我只是希望能够以 Javascript 数组或 Javascript 中的 JSON 的形式访问我的数组。
有人可以帮我填写一下吗?
【问题讨论】:
-
{{ ... }}语法您使用什么模板语言? Blade,Smarty,还有别的吗?您应该使用console.log({{ json_encode($array)}});之类的东西(不带引号,因为 json_encode 会在必要时添加它们),但您需要原始表单,跳过htmlentities()调用您的模板引擎似乎可以 -
@rickdenhaan:blade.php
-
在这种情况下,试试
{!! json_encode($array) !!} -
会的,我会告诉你进展如何。
-
@rickdenhaan :这个
{!! json_encode($array) !!}似乎可以解决问题。
标签: javascript php arrays json laravel