SyntaxError:期望的表达式,得到了“&”

时间:2018-09-16 01:20:56

标签: javascript jquery laravel laravel-blade

我在控制器上执行了循环:

$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'},]

我收到错误消息:

  

SyntaxError:期望的表达式,得到了'&'

script而不是'怎么读'

1 个答案:

答案 0 :(得分:2)

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

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

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

events: @json($events);