read not leer from expires cookie check javascript jquery cookies

javascript - not - ¿Puedo usar localhost como el dominio al configurar una cookie HTTP?



leer cookie javascript (6)

Estoy usando un plugin de jQuery para establecer cookies y cuando uso localhost para el dominio, no almacenará la cookie.

Aquí está el complemento que estoy usando con jQuery 1.2.6.

http://www.stilbuero.de/2006/09/17/cookie-plugin-for-jquery/

A continuación está el código que estoy usando. Puede ver que no le gusta el host local, y lo estoy ejecutando desde un servidor web de desarrollo en el host local. Un detalle es que me estoy escapando del puerto 4005, pero eso no debería afectar el dominio, AFAIK.

$(function() { console.log(''Testing''); var one = $.cookie(''Test.One''); var two = $.cookie(''Test.Two''); var three = $.cookie(''Test.Three''); console.log([''one'', one]); console.log([''two'', two]); console.log([''three'', three]); $(''#div1'').text(one); $(''#div2'').text(two); $(''#div3'').text(three); $.cookie(''Test.One'', ''Test 1''); $.cookie(''Test.Two'', ''Test 2'', { path: ''/'' }); $.cookie(''Test.Three'', ''Test 3'', { path: ''/'', domain: ''localhost'' }); });


Creo que el nombre de dominio de una cookie debe tener exactamente dos puntos (sin contar el punto final después del TLD). Así que. .something.localhost está bien, .google.com está bien, pero .localhost o google.com no. Pero un vistazo a RFC 2965 sugiere que es más complicado que eso ... es posible que desee leer ese documento, especialmente la sección 3.3 (y / o su precursor, RFC 2109 ).


Intenté configurar el archivo de host para usar un nombre alternativo (local.acme.com) y ahora puedo establecer cookies en ese dominio. Parece que no puedo establecer cookies en localhost, al menos no con Firefox. No recuerdo que sea una restricción para las cookies. Me gustaría entender qué está pasando aquí.

Además, intenté simplemente hacer el dominio en el archivo hosts simplemente "dev" pero eso no funcionó. Tuve que usar un nombre que terminó en .com o en otro tld para que funcione.


Tuve un problema similar con la configuración de cookies. Invente un nombre de dominio y agréguelo a su archivo de hosts como 127.0.0.1. Luego ejecute la aplicación web en ese dominio.


Actualicé el complemento jQuery para no agregar el dominio a la cookie cuando es localhost. Eso resuelve mi problema sin tocar el archivo hosts.

var domain = (options.domain && options.domain !== ''localhost'') ? ''; domain='' + (options.domain) : '''';


Estoy usando Code Ignitor, y establecer el dominio en una cadena vacía solucionó mi problema mientras trabajaba en la aplicación localhost. Creo que esta es la mejor solución ya que todos los integrantes del equipo de desarrollo no necesitan meterse con sus archivos host en Windows.

Los valores de dominio de producción se pueden poner en config.php de Code Ignitor cuando se implementan en un sitio en vivo.


La solución más simple para mí para resolver esto era usar 127.0.0.1 en lugar de localhost ;-) ¡Eso funciona bien en Firefox!