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

使用laravel将php对象分配给jquery变量,jquery,laravel,Jquery,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编码JavaS

我想将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>

var foo=;

另一种将数据从后端传递到前端的方法是使用AJAX。解释如何在使用和不使用jQuery的情况下执行此操作。

$stationData作为一个有说服力的对象,您可以执行以下操作:

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

或任何其他答案。

在Laravel 5及以上版本中:

data = {!! str_replace("'", "\'", json_encode($stationData)) !!};
在拉威尔4号

data = {{{ str_replace("'", "\'", json_encode($stationData)) }}};
您需要两次转义此格式。否则可能会采取扼杀行动