如何将JSON数据传递给laravel中的视图

时间:2016-09-03 14:33:30

标签: json laravel view

我想将此JSON数据传递给某些视图但不知道其工作原理。

我已经使用过,制作视图,并将此数据转换为JSON并通过其他方式,但它没有工作

$items = Items::all();
return response()->JSON($items);

例如,视图为items.create

2 个答案:

答案 0 :(得分:1)

如果要创建JSON response,则需要将集合转换为数组:

$items = Items::all()->toArray(); // $items is array now
return response()->json($items);

如果您想将某些JSON data传递给视图,请执行以下操作:

$items = Items::all()->toJson();
return view('items.create', compact('items'));

答案 1 :(得分:1)

对于Laravel ver 4.2, 您可以使用变量(例如:$ data)将数据传递到刀片视图,该变量具有将在您的刀片中使用的数组。

$ flag是代码的JS部分中使用的变量,因此您也可以将其作为数组传递:<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <a data-toggle="collapse" href="#collapse1" id="switch"> Switch</a> <div id="collapse1" class="panel-collapse collapse"> Power on. </div> <div id="content"> Please, add the class "darken" to me! </div>

在你的控制器中返回视图:

Response::json(['param1' => $foo1, 'param2' =>$foo2)]);

在你的JS中使用数据变量:

 return Response::json(['view' => View::make('yourbladename', $data)->render(), 'flag'=>$flag]);