2011-09-10 77 views
1

我正在編寫自己的cookies作爲我使用NodeJS(即不使用任何軟件包)的網絡服務器的一部分。我已經能夠做到這一點使用的東西就好了,如:如何在NodeJS中設置cookie的過期時間?

response.writeHead(200, { 
    'Set-Cookie':'sesh=wakadoo' 
}); 

不過,我想使我的餅乾更持久比他們目前的(這是說不是全部)。我試過做這樣的事情:

var curdate = new Date(); 
response.writeHead(200, { 
    'Set-Cookie':'sesh=wakadoo; expires='+curdate.toUTCString() 
}); 

但唉這似乎並沒有工作。鉻只是忽略了我設置的過期時間,並且Firefox從不加載頁面。我目前的目標是簡單地給我的cookie一個可以被瀏覽器解釋的截止日期......有人知道如何做到這一點嗎?

最佳,
薩米

+0

你試過[連接-cookieParser(http://senchalabs.github.com/connect/middleware-cookieParser.html) – Raynos

+0

我專門試圖做到這一點沒有一個包。如果我要使用一個包,它將是Cookie節點 – thisissami

+0

我申請你應該使用快遞或連接無論如何。因此,只需使用'cookieParser' – Raynos

回答

5

嘗試給一些過期交貨時間,像一個日子。客戶端/服務器可能無法讀取它,因爲它在提交時已過期。

response.writeHead(200, { 
    'Set-Cookie':'sesh=wakadoo; expires='+new Date(new Date().getTime()+86409000).toUTCString() 
}); 
+0

完美的工作!這可能是一個Mozilla應該修復的錯誤,儘管...頁面不應該掛起,因爲一個cookie在同一天過期...鉻只是把它看作是一個非持久cookie。 – thisissami

+0

它掛起?這有點奇怪。我爲此寫了一個快速測試。 –

+1

如果執行,在JSON結尾處移除分號.toUTCString(); - 不需要標點符號 – eugene