2012-03-07 21 views
6

Come si imposta un cookie nella risposta mojolicious e successivamente lo si legge dalla richiesta. Ho provato diversi modi, ma nessuno di loro ha impostato cookie sull'oggetto risposta.Impostazione dei cookie nella risposta mojolicious

provato questi modi

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

plz, aiutare !!

grazie.

risposta

11

È possibile utilizzare i metodi di scelta rapida direttamente dal controller:

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

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

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

Tuttavia, se il vostro intento è semplicemente quello di memorizzare un valore e recuperarlo durante le richieste successive, non c'è bisogno di impostare biscotti direttamente. Le sessioni mojolicious utilizzano i cookie firmati per impostazione predefinita, gestiranno la complessità dei cookie e verificheranno che i valori non siano stati modificati dal client.

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

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

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

Se le sessioni sono la soluzione migliore per voi, assicuratevi di impostare il tuo segreto app. Inoltre, controlla: http://mojocasts.com/e4#Session

+0

Grazie per la risposta rapida ... Ho provato la sessione, funziona così..ma c'è un altro modo in cui posso impostare esplicitamente un cookie sulla risposta e recuperarlo alla successiva richiesta. – PMat

+0

Sì, la prima parte della risposta. – tempire

+0

Grazie ... ma nessuno di loro ha funzionato finché non ho impostato path = /. Ho fatto $ self-> res-> headers-> set_cookie ('foo = bar; Path = /'); e lo ha recuperato come $ self-> cookie ('foo'); – PMat

Problemi correlati