【问题标题】:Error with Json value from controller to use in view, Laravel 5.6来自控制器的 Json 值错误以在视图中使用,Laravel 5.6
【发布时间】:2020-01-04 06:40:33
【问题描述】:

我无法将从控制器获得的 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();
                    });
                }

Uncaught SyntaxError: missing ) after argument list

这就是我得到的错误..

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

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

一切正常..

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

如何在我的 javascript 代码中使用该 json 值

【问题讨论】:

  • 在 loadresources 函数中尝试 $.post( json_decode({!!$rooms!!})
  • Error.. Uncaught ReferenceError: json_decode is not defined.. 当我查找时,我发现“你不能在 JS 中使用 json_decode json_decode 是 PHP 函数”
  • @stoneshak,您还在寻找解决方案吗?
  • 不是真的……我决定用别的东西……
  • 如果您找到了解决方案或解决方法,您也可以发布答案并接受。 :) 所以如果其他人正在寻找答案可以有一个。

标签: javascript arrays json laravel


【解决方案1】:

不要对结果集进行json_encode。

像这样将整个对象传递给视图:

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

return view('admin.rooms.index', $room);

那么在视图中你可以从上面传递的数据中检索值是:

{{$room->id}}

【讨论】:

  • 我知道如何从该数据中获取价值.. 你真的读过这个问题吗?
【解决方案2】:

尝试在视图中编码房间数组,即在 javascript 部分中。然后将其传递给 loadResources 函数。

【讨论】:

    猜你喜欢
    • 2016-10-03
    • 2021-08-09
    • 1970-01-01
    • 2019-12-14
    • 2019-04-13
    • 1970-01-01
    • 2015-10-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多