首页 > 解决方案 > 语法错误:预期的表达式,得到 '&'

问题描述

我在我的控制器上做一个循环:

$events = '[';
while ($init->format('w') != $agenda->day){
    $events = $events . "{title: 'test', start: '" . $init->format('Y-m-d') . "'},";
    $init->add(new DateInterval('P1D'));            
}
$events = $events . ']';

结果是这个字符串:

[{title: 'test', start: '2018-09-15'},{title: 'test', start: '2018-09-16'},]

在我的刀片页面上,我需要script生成一个完整的日历并将代码放在上面:

events:
    {{$eventos}},

但在script我的代码内部更改为:

[{title: 'test', start: '2018-09-15'},{title: 'test', start: '2018-09-16'},]

我收到错误:

语法错误:预期的表达式,得到 '&'

如何做script阅读'而不是'

标签: javascriptjquerylaravellaravel-blade

解决方案


不要在循环中创建 json 字符串,而是定义一个数组以传递给视图。

$events = []; 
while ($init->format('w') != $agenda->day){
    $events[] = [
        'title' => 'test', 
        'start' => $init->format('Y-m-d')
    ];
    $init->add(new DateInterval('P1D'));            
}

然后在视图文件中使用 @json 刀片指令将您的数组输出为 json。

events: @json($events);

推荐阅读