2014-12-16 2 views
4

유선 문제가 있습니다. 임 세션에서 몇 가지 문자열/개체를 넣고, 내가 그것을 원한다면 거기에 없습니다. 각도에서세션에 넣은 후 Laravel 세션 키가 null입니다.

class CartController extends \BaseController 
{ 

    public function index() 
    { 
     return Session::all(); // items is not there 
    } 

    public function store() 
    { 
     Session::put('items', Input::get('items')); 
    } 

} 

:

this.saveItemsToSession = function() { 
    $http.post('cart', { 
     items: 'test even string' 
    }); 
    }; 

이것이 문제가 발생할 수 있습니다

코드인가?

마치 세션이 작동하지 않는 것처럼 보입니다. 이 방법은 작동합니다.

session_start(); 
class CartController extends \BaseController 
{ 

    public function index() 
    { 
     return $_SESSION['items']; 
    } 

    public function store() 
    { 
     $_SESSION['items'] = Input::get('items'); 
    } 

} 
+0

정적 데이터를 세션에 넣으면 작동합니까? 'Session :: put ('items', 'test string'); ' – lukasgeiter

+0

아니요,하지만 HomeController에서이 작업을 수행하는 경우 –

+0

질문을 편집하고'cart'에 대한 경로를 추가 할 수 있습니까? – lukasgeiter

답변

-1

하위 도메인을 사용하고 있습니까?

0
Session::all() 

복귀 모든 세션 변수의 배열 "항목"의

$_SESSION['items'] 

복귀 세션 동안, 양쪽 출력이 다르다.

Session::all()['items'] 

또는

Session::get('items') 
0

laravel의 워드 프로세서 : https://laravel.com/docs/master/routing

모든 경로가 아닌 내에 배치

$_SESSION['items'] 

값을 얻으려면, 여기에 몇 가지 방법이 있습니다 웹 미들웨어 그룹에는이 없습니다.세션 및 CSRF 보호에 액세스하려면 에 이러한 기능이 필요한 경로가 그룹에 있어야합니다. 일반적으로,이 그룹 내에서 한 장소 경로의 대부분을합니다

Route::group(['middleware' => ['web']], function() { 
    //all routes 
}); 

미들웨어 내부에 모든 경로를 넣어 문제가 해결됩니다.

관련 문제