Laravel 控制器不输出真实内容 JSON
Laravel controller not outputting content as real JSON
我的 Laravel
应用程序中有以下控制器:
class ProjectController extends Controller {
...
public function index() {
$projects = Project::where('is_completed', false)
->orderBy('created_at', 'desc')
->withCount(['tasks' => function ($query) {
$query->where('is_completed', false);
}])->get();
return $projects->toJson(JSON_PRETTY_PRINT);
}
...
}
被以下路由引用:
Route::get('projects', 'ProjectController@index');
我的问题是当我去 url:
https://127.0.0.1/api/projects
然后我得到了预期的结果,但内容类型不是 JSON
,如下所示(它是 HTML
):
关于如何将内容输出为真实 JSON
内容有什么想法吗?
谢谢!
而不是:
$projects = Project::where('is_completed', false)
->orderBy('created_at', 'desc')
->withCount(['tasks' => function ($query) {
$query->where('is_completed', false);
}])->get();
return $projects->toJson(JSON_PRETTY_PRINT);
你应该使用:
return response()->json(Project::where('is_completed', false)
->orderBy('created_at', 'desc')
->withCount(['tasks' => function ($query) {
$query->where('is_completed', false);
}])->get());
的例子
我的 Laravel
应用程序中有以下控制器:
class ProjectController extends Controller {
...
public function index() {
$projects = Project::where('is_completed', false)
->orderBy('created_at', 'desc')
->withCount(['tasks' => function ($query) {
$query->where('is_completed', false);
}])->get();
return $projects->toJson(JSON_PRETTY_PRINT);
}
...
}
被以下路由引用:
Route::get('projects', 'ProjectController@index');
我的问题是当我去 url:
https://127.0.0.1/api/projects
然后我得到了预期的结果,但内容类型不是 JSON
,如下所示(它是 HTML
):
关于如何将内容输出为真实 JSON
内容有什么想法吗?
谢谢!
而不是:
$projects = Project::where('is_completed', false)
->orderBy('created_at', 'desc')
->withCount(['tasks' => function ($query) {
$query->where('is_completed', false);
}])->get();
return $projects->toJson(JSON_PRETTY_PRINT);
你应该使用:
return response()->json(Project::where('is_completed', false)
->orderBy('created_at', 'desc')
->withCount(['tasks' => function ($query) {
$query->where('is_completed', false);
}])->get());
的例子