Response :: json和隐含的json之间有区别吗?

时间:2014-10-15 17:05:45

标签: php json laravel model

在Laravel 4中,我可以使用return Response::json( $model );创建JSON响应。默认情况下,我也可以简单地执行return $model;

使用Response::json而不是隐式调用$model->toJson()

有什么好处

2 个答案:

答案 0 :(得分:0)

返回return $model应返回collection,其中包含许多内置功能。 $model->toJson()会将其删除为json文件。

编辑:我回答这个问题是将模型返回到控制器而不是渲染。发送到渲染器后,我认为Response::json$model->toJson()执行的操作相同,但Response::json适用于不在集合中的数据。

一些资源可以帮助收集集合的功能:

http://laravel.com/docs/4.2/eloquent#collections

https://laracasts.com/lessons/arrays-on-steroids

答案 1 :(得分:0)

我相信当您使用return Response::json()时,它也会设置返回标头,可能是Content-type: text/javascript

这样,调用脚本知道它甚至在开始读取返回体之前就回到了javascript。有时,运行函数的脚本可能有不同的行为,或者根据它返回的内容类型以不同方式解析响应主体。