2010-08-20 4 views
10

Zuerst wird ein cookie gesetzt:JQuery Cookie Erweiterung wird ein Cookie mit einem Pfad gesetzt wird aber nicht gelesen es

jQuery.cookie('monster', 'big', { path : '/sesame/'}); 

Als nächstes versuchen, es zu lesen:

jQuery.cookie('monster'); 

Firefox sagt mir, dass die Cookie wurde tatsächlich gesetzt. Der Wert ist big und der Pfad lautet /sesame/. Und dennoch, als ich versuchte, den Keks zu lesen, würde es nicht funktionieren.

Alternative Version der Frage: Wie gebe ich den Pfad an, wenn lesen ein Cookie?

Als ein Experiment habe ich die folgende Syntax verwendet, aber es setzt einen Cookie, anstatt einen zu lesen.

$.cookie('cookie_name', { path: '/path/' }); 

Antwort

8

Die JQuery-Cookie-Erweiterung durchsucht das Attribut document.cookie, um einen Cookie zu finden und seinen Wert zu lesen. Document.cookie gibt nur den Namen, Wertepaare für Cookies unter aktuellen Dokumentpfad zurück. Es erlaubt Ihnen jedoch, Set ein Cookie für einen Pfad anderen aus dem aktuellen Dokument Pfad.

Daher ist dies keine Einschränkung/Fehler im jQuery-Cookie-Plugin; Es ist eher ein Nebenprodukt davon, wie Cookies in Javascript behandelt werden.

8

Der Browser sendet kein Cookie an den Pfad, auf den er nicht eingestellt ist!

Der Browser sendet nur den Namen und den Wert des Cookies. Es gibt keine Möglichkeit, den Cookie-Pfad oder die Ablaufzeit herauszufinden.

+0

Können Sie es umformulieren? Ich bin nicht sicher, was du meinst (meine Frage gegeben). –