2013-12-09 16 views
12

Sembra che $cookies consenta solo di impostare la coppia chiave/valore.

Ma ho anche bisogno di impostare il parametro del dominio. Devo impostare il cookie da un sottodominio del sito Web e utilizzarlo da tutti i sottodomini del sito web.

Sto utilizzando angularJS e Twitter Bootstrap.

risposta

8

Attualmente questo non è implementato in angolare (1.2.7). Si può avere uno sguardo alla linea angular.js 4348 - il codice in questione un po 'ridotta:

if (value === undefined) { 
    // Delete the cookie 
    rawDocument.cookie = escape(name) + 
      "=;path=" + cookiePath + ";expires=Thu, 01 Jan 1970 00:00:00 GMT"; 
} else { 
    // set or update the cookie value 
    rawDocument.cookie = escape(name) + '=' + escape(value) + ';path=' + cookiePath); 
} 

come si può vedere l'; domain = XYZ non è incluso. Devi scrivere il tuo cookiestore che implementa questa funzionalità, ma dovrebbe essere molto semplice.

+1

Aggiornamento: AngularJS 1.4.0-beta.6 [aggiunge questa funzione] (https://github.com/angular/angular.js/blob/master/CHANGELOG.md#features). – GregL

4

Ho creato il modulo per AngularJS per risolvere questo problema:

https://github.com/stevermeister/ng-biscuit

opzioni ora si può semplicemente impostare:

cookieStore.put('x', 5, {domain: 'youdomain.com'}) 
+0

Qual è la versione minima di AngularJS supportata? –

+0

minimo - 0.9.9 –

+1

'cookieStore' è deprecato nelle versioni successive di Angular, credo. È in '1.4 +', almeno. – demisx

Problemi correlati