2009-07-23 1 views
11

Ich versuche nicht, Cookie-Daten mit der xmlhttprequest zu senden, sondern ich versuche, die Xmlhttprequest verwenden, um Cookies für die Sitzung ohne Benutzereingriff zu setzen.Wenn es eine Set-Cookie-Antwort von einem xmlhttprequest gibt, wird der Browser dies berücksichtigen und den Cookie setzen?

+1

Können Sie nicht stattdessen Javascript verwenden? –

+0

Ich sehe nicht, wie das helfen würde, ich muss das Cookie vom Server holen, ich will es nur nicht als Teil einer Seitenaktualisierung machen. – stu

+1

Hast du es ausprobiert? Wahrscheinlich viel schneller als darauf zu warten, dass jemand dir antwortet. :) – epascarello

Antwort

4

Nach dem spec:

Wenn die User-Agent HTTP unterstützt State Management sollte bestehen bleiben, verwerfen und senden Cookies (wie in dem Set-Cookie erhalten und Set-Cookie2 Response-Header und in dem gesendeten Cookie-Header) wie zutreffend.

Soweit ich zu sagen, habe es geschafft, zu, Firefox 3.6 speichert die Cookies, aber sie werden nicht auf das Dokument auf der Seite, die ausgeführt, um die Abfrage durch document.cookie zur Verfügung. Aber sie werden mit nachfolgenden XMXHttpRequests gesendet, was für meine Zwecke ausreichend ist.

+2

aber diese Spezifikation ist noch nicht implementiert. Es ist eine Kandidatenempfehlung. Die interessante Frage ist, was machen die gängigen Browser von heute mit Cookies? Und, ist das Verhalten in diesen Browsern konsistent? – Cheeso

+0

Also bedeutet die Tatsache, dass dies als Antwort ausgewählt wurde, dass dies in allen gängigen Browsern geschieht? – Rory

+0

Das ist interessant. In Web-Apps können Logins und andere Aktivitäten über asynchrone Anfragen erfolgen. Diese Anfragen könnten Cookies mit neuen Sitzungs-IDs erstellen und solche Cookies müssten mit allen nachfolgenden Anfragen gesendet werden, damit die Anfragen gültige App-Level-Sitzungs-IDs enthalten. – Triynko

Verwandte Themen