2014-09-26 5 views
0

Маршруты зарегистрировано в app/routes.phpLaravel Response :: json не возвращает JSON правильно?

Route::resource('users', 'UsersController', 
    array('except' => array('new', 'update'))); 

Route::post('users/authenticate', array('as' => 'authenticate', 'uses' => '[email protected]')); 

Route::get('users/is_authenticated', array('as' => 'authenticated', 'uses' => '[email protected]_authenticated')); 

Метод is_authenticated не возвращает JSON, но, когда я поставил Response::json() в методе index возвращает схему JSON.

Вот мой is_authenticated метод:

public function is_authenticated() 
{ 
    return Response::json(['authenticated' => Auth::check()]); 
} 

Что происходит здесь не так? Я побежал php artisan routes и возвращает это для маршрута:

GET|HEAD api/users/is_authenticated | authenticated | [email protected]_authenticated

Я не получаю 404 Not Found при посещении страницы, но нет никакого содержания. В чем проблема?

Edit: маршруты начинаются с api

ответ

0

Проблема заключается в том, что ваш первый маршрут активируется при вызове users/is_authenticated. Порядок маршрутов важен в Laravel, так как выполняется первый соответствующий маршрут. Вы можете просто изменить порядок своих маршрутов, чтобы сделать маршрут users/is_authenticated, например:

Route::post('users/authenticate', array('as' => 'authenticate', 'uses' => '[email protected]')); 

Route::get('users/is_authenticated', array('as' => 'authenticated', 'uses' => '[email protected]_authenticated')); 

Route::resource('users', 'UsersController', array('except' => array('new', 'update'))); 
+0

Спасибо, отлично работает. Это довольно глупое имо. –