如何将laravel / PHP函数传递给JS

时间:2017-04-26 10:40:26

标签: javascript php laravel laravel-5 highcharts

我有一张highcharts饼图,我想要放置laravel' route()辅助函数。

我有以下代码,其中

data: [{
    name: 'Car',
    y: 56.33,
    sliced: true,
    selected: true,
    url: {{route('dashboard')}}
}]

引发SyntaxError: expected property name, got '{'

PHP变量传递给JS的最佳方式是什么?

2 个答案:

答案 0 :(得分:4)

data: [{
   name: 'Car',
   y: 56.33,
   sliced: true,
   selected: true,
   url: "{{route('dashboard')}}" // note: surround with double quote
}]

答案 1 :(得分:0)

您应该打开脚本标记(Blade模板的顶部或末尾)并将数据传递给JS脚本。

我通常使用@stack。你的代码应该是这样的:

master.blade.php

<!DOCTYPE html>
<html lang="en">
<head>
    <title>@yield('title')</title>
</head>
<body>

    Blah Blah Blah
    <!-- Start Content -->
    @yield('content')
    <!-- End Content -->


    <!-- Custom Scripts -->
    @stack('scripts')
</body>
</html>

chart.blade.php

@extends('master')
@section('content')
    Your Page Content
@endsection

@push('scripts')
    <script>
        var pie = {
            data: [{
                name: 'Car',
                y: 56.33,
                sliced: true,
                selected: true,
                url: "{{route('dashboard')}}"
            }]
        };
    </script>
@endpush

通过这种方式,您的数据将被Laravel辅助函数替换。