【发布时间】:2015-01-26 02:22:56
【问题描述】:
如果用户未登录,我想返回带有消息的 401 错误。这是我的过滤器和将应用它的路由:
Route::filter('auth', function() {
if (!Auth::check())
{
return Response::json(array('flash' => 'Please log in.'), 401);
}
});
Route::get('/books', array('before' => 'auth', function() {
...
}));
我从教程中复制了代码,所以基本上它应该可以工作。但是我收到了这个错误:
"NetworkError: 500 Internal Server Error - http://localhost:8000/books"
{"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException","message":
"Call to undefined method Illuminate\\Http\\Response::json()","line 42"
不能使用过滤器返回 JSON 对象吗?
编辑: 我在我的一个 Laravel 控制器中也有相同的响应,并且可以正常工作。
【问题讨论】:
-
你没看到它试图调用未定义的方法吗?检查它是否存在于该特定类中,以及您是否正在加载正确的命名空间。
-
您正在尝试调用未定义的方法。请张贴定义此方法的部分。
-
我不明白你的意思。我正在使用 laravel 的特殊响应。所以我认为我不必定义函数。见:laravel.com/docs/4.2/responses#special-responses