使用 laravel 将 php 对象分配给 jquery 变量

Assign php object to the jquery variable with laravel

我想将 json 对象分配给 jquery 变量。但是当我尝试它时出现错误:

htmlentities() expects parameter 1 to be string, object given (View: /var/www/html/resources/views/index.blade.php)

执行此操作的简单方法是什么? 这是我的代码:

        var data = {};
        data = "{{$stationData}}";

您可以通过 json 在您的 JavaScript 中编码 PHP 变量来做到这一点。这仅适用于内联 JavaScript 代码,如下所示:

<?php
$foo = 'bar';
?>
<script>
    var foo = <?php echo json_encode($foo) ?>;
<script>

将数据从后端传递到前端的另一种方法是使用 AJAX。 This SO answer 解释了如何使用和不使用 jQuery。

data = {{json_encode($stationData)}};

$stationData 是一个 Eloquent 对象,你可以这样做:

var foo = {{$stationData->toJson()}}

或任何其他答案。

在 Laravel 5 及以上是:

data = {!! str_replace("'", "\'", json_encode($stationData)) !!};

在Laravel 4

data = {{{ str_replace("'", "\'", json_encode($stationData)) }}};

您需要对这种格式进行两次转义。否则会很奇怪。