2012-03-07 17 views
6

Jak ustawić plik cookie w mojolicious odpowiedzi, a później odczytać go z żądania. Próbowałem na różne sposoby, ale żaden z nich nie ustawił ciasteczka na obiekcie odpowiedzi.Ustawianie plików cookie w mojolsious odpowiedzi

próbował tych sposobów

$self->res->cookies({name => 'foo', value => 'bar'}); 
$self->res->headers->set_cookie('foo=bar'); 
$self->res->headers->cookie('foo=bar'); 

plz, pomoc !!

dzięki.

Odpowiedz

11

Można użyć metod skrótów bezpośrednio z kontrolera:

# Set 
$self->cookie(foo => 'bar'); 

# Get 
$self->cookie('foo'); 

http://mojolicio.us/perldoc/Mojolicious/Controller#cookie

Jednakże, jeśli zamiarem jest po prostu do przechowywania wartości i pobrać go na kolejnych żądań, nie ma potrzeby, aby ustawić pliki cookie bezpośrednio. Mojologiczne sesje używają domyślnie podpisanych plików cookie, obsługują złożoność plików cookie i sprawdzają, czy wartości nie zostały zmienione przez klienta.

# Set 
$self->session(foo => 'bar'); 

# Get 
$self->session('foo'); 

http://mojolicio.us/perldoc/Mojolicious/Controller#session

Jeśli sesje są najlepszym rozwiązaniem dla Ciebie, upewnij się ustawić swoją aplikację w tajemnicy. Ponadto, sprawdź: http://mojocasts.com/e4#Session

+0

Dzięki za szybką odpowiedź .. Próbowałem sesji, działa w ten sposób .. ale jest tam inny sposób, w którym mogę jawnie ustawić plik cookie na odpowiedź i pobrać go na kolejne żądanie. – PMat

+0

Tak - pierwsza część odpowiedzi. – tempire

+0

Dzięki .. ale żaden z nich nie działał, dopóki nie ustawię ścieżki = /. Zrobiłem $ self-> res-> headers-> set_cookie ('foo = bar; Path = /'); i pobrać go jak $ self-> cookie ("foo"); – PMat

Powiązane problemy