使用渲染视图将json对象/数组返回给浏览器

时间:2014-01-14 20:25:38

标签: php json angularjs laravel-4

目前我的控制器执行此操作

public function index()
{
    $trainers = $this->trainer->with('user.images', 'types')->get();

    return View::make('trainers.index')
        ->with('trainers', $trainers);
}

我正在前端实施角度,同时希望尽可能多地使用laravel。我想要做的仍然是将视图trainers.index返回给用户,但我希望浏览器接收$ trainers作为json对象,然后angular可以分配给范围变量,以便angular可以用它做它所做的事情。 / p>

将$ trainers转为json不是问题

$trainers = $this->trainer->with('user.images', 'types')->get()->toJson;

效果很好但是如果我只是将它返回到视图中,它就会在呈现视图并返回到浏览器时丢失。有没有办法将此变量现在json传递给浏览器以及视图trainers.index?

编辑:我意识到我可以返回视图然后有角度对返回json对象的方法发出http请求但是我希望它可以一次完成以节省必要的请求数量

1 个答案:

答案 0 :(得分:0)

虽然我认为这是一个坏主意,是的,您可以将它放在您的视图中,然后对从您的网络服务器返回的JSON字符串使用angular.fromJSONJSON.parse。这会将其转换为您可以使用的JavaScript对象。通过这种方式,您可以使您的应用程序或多或少不动态。它首先打败了使用Angular的全部目的。