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

问题描述 投票:2回答:2

我想将此JSON数据传递给某个视图,但不知道它是如何工作的。

我已经使用过,也可以查看,并将此数据转换为JSON并通过其他方式,但它不起作用

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

例如,观点是items.create

json laravel view
2个回答
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'));

0
投票

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

$ flag是在代码的JS部分中使用的变量,因此您也可以将其作为数组传递:Response::json(['param1' => $foo1, 'param2' =>$foo2)]);

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

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

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

function(data){     
 $('#DivToAppendHTML').append(data.view);                    //this appends html blade to the Div having the ID DivToAppendHTML
       if(data.flag == 1){                                  //this uses the second variable passed in controller for any other purpose
                       $('.classname').remove();
        }
}
© www.soinside.com 2019 - 2024. All rights reserved.