【问题标题】:SyntaxError: expected expression, got '&'语法错误:预期的表达式,得到 '&'
【发布时间】:2019-02-20 08:12:31
【问题描述】:

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

$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 改为' 而不是'

【问题讨论】:

  • 不要尝试自己构建JSON,php有生成json的功能:json_encode
  • @PatrickEvans 如何使用json_encode 在 json 上转换我的字符串?我是菜鸟^^

标签: javascript jquery laravel laravel-blade


【解决方案1】:

不要在循环中创建 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);

【讨论】:

    猜你喜欢
    • 2021-08-30
    • 1970-01-01
    • 1970-01-01
    • 2019-01-11
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多