Javascript 控制器的Json值在视图中使用时出错,Laravel 5.6

Javascript 控制器的Json值在视图中使用时出错,Laravel 5.6,javascript,arrays,json,laravel,Javascript,Arrays,Json,Laravel,我无法将从控制器获得的Json值转换为正确的javascript可读值 这是我的控制器 $room = Room:: select('id', 'name', 'capacity', 'status') ->get(); $this->rooms = json_encode($room);; return view('admin.rooms.index', $this->data); 在视图中,{!!$room!!}

我无法将从控制器获得的Json值转换为正确的javascript可读值

这是我的控制器

    $room = Room::
        select('id', 'name', 'capacity', 'status')
        ->get();

    $this->rooms = json_encode($room);;

    return view('admin.rooms.index', $this->data);
在视图中,{!!$room!!}给出

[ {“id”:1,“name”:“room1”,“capacity”:4,“status”:“dirty”},{“id”:2,“name”:“room2”,“capacity”:5,“status”:“clean”},{“id”:3,“name”:“room3”,“capacity”:5,“status”:“clean”} ]

所以我得到了我需要的json值

当我在脚本中使用{!!$room!!}时

               function loadResources() {
                    $.post( "{!!$rooms!!}",
                    { capacity: $("#filter").val() },
                    function(data) {
                        dp.resources = data;
                        dp.update();
                    });
                }
参数列表后未捕获的语法错误(缺少)

这就是我得到的错误

如果我创建一个文件并将json值放入一个文件中

               function loadResources() {
                    $.post( "room.json" ,
                    { capacity: $("#filter").val() },
                    function(data) {
                        dp.resources = data;
                        dp.update();
                    });
                }
一切正常

我尝试了JSON.parse(),以使值javascript可读,但失败了


如何在javascript代码中使用该json值?不要对结果集进行json编码

将整个对象传递到视图,如下所示:

$room = Room::
        select('id', 'name', 'capacity', 'status')
        ->get();

return view('admin.rooms.index', $room);
然后,在视图中,您可以从上述传递的数据中检索值:

{{$room->id}}

尝试在视图(即javascript部分)中对rooms数组进行编码。然后将其传递给loadResources函数。

在loadResources函数中尝试$.post(json_decode({!!$rooms!!})错误..未捕获引用错误:未定义json_decode..当我查找时,我发现“json_decode是PHP函数,不能在JS中使用json_decode”@stoneshak,你还在寻找解决方案吗?不是真的。我决定使用其他解决方案。如果你找到了解决方案或解决方法,你也可以发布答案并接受。:)因此,如果其他人正在寻找答案,你可以有一个答案。İ知道如何从该数据中获取值。。你真的读过这个问题吗?