2012-05-15 43 views
0

我有一個骨幹應用程序運行在我的Rails應用程序之上,這使得大量的AJAX請求。奇怪的是,我的瀏覽器存儲的會話ID cookie從未改變過。我可以看到下一個請求,並且回覆成功。但是,響應仍會掛在舊會話ID上,因此我無法以任何方式註銷或更改用戶狀態。Rails 3.2 session_id永遠不會改變

這裏是正在發送的報頭的例子:

請求/login.json:

Cache-Control:max-age=0, private, must-revalidate 
Date:Tue, 15 May 2012 22:44:46 GMT 
Etag:"7363e85fe9edee6f053a4b319588c086" 
Server:WEBrick/1.3.1 (Ruby/1.9.2/2011-07-09) 
Set-Cookie:_session_id=BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJWY0YTI1Y2I5ZDE5MTgyYjJmN2MzMzZiMmE5ZWE2ZTAyBjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMTB1ZEozbzJCbUl4ZjluUDdCZVVEOXBhL0ZUeXNVRnFiMlFLblFTVUZPNGM9BjsARg%3D%3D--b16d1f8e4bba3c86d5e3e9ece1ae50f1ad898d00; path=/; HttpOnly 
X-Request-Id:8e278bdd3504257bcb9956e068ca3ca3 
X-Runtime:0.014739 
X-Ua-Compatible:IE=Edge 

注意它給了我一個:從/login.json

Accept:*/* 
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 
Accept-Encoding:gzip,deflate,sdch 
Accept-Language:en-US,en;q=0.8 
Connection:keep-alive 
Cookie:_session_id=BAh7CEkiD3Nlc3Npb25faWQGOgZFRkkiJWY0YTI1Y2I5ZDE5MTgyYjJmN2MzMzZiMmE5ZWE2ZTAyBjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMTB1ZEozbzJCbUl4ZjluUDdCZVVEOXBhL0ZUeXNVRnFiMlFLblFTVUZPNGM9BjsARkkiDHVzZXJfaWQGOwBGaQg%3D--cf57849d4a4c0cbc5608574d959a772080b3afc5 
Host:localhost:3000 
If-None-Match:"7363e85fe9edee6f053a4b319588c086" 
Referer:http://localhost:3000/ 
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.46 Safari/536.5 
X-CSRF-Token:0udJ3o2BmIxf9nP7BeUD9pa/FTysUFqb2QKnQSUFO4c= 
X-Requested-With:XMLHttpRequest 

響應新的會話ID。然而,當我提出我的下一個請求...

Accept:application/json, text/javascript, */*; q=0.01 
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 
Accept-Encoding:gzip,deflate,sdch 
Accept-Language:en-US,en;q=0.8 
Connection:keep-alive 
Cookie:_session_id=BAh7CEkiD3Nlc3Npb25faWQGOgZFRkkiJWY0YTI1Y2I5ZDE5MTgyYjJmN2MzMzZiMmE5ZWE2ZTAyBjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMTB1ZEozbzJCbUl4ZjluUDdCZVVEOXBhL0ZUeXNVRnFiMlFLblFTVUZPNGM9BjsARkkiDHVzZXJfaWQGOwBGaQg%3D--cf57849d4a4c0cbc5608574d959a772080b3afc5 
Host:localhost:3000 
If-None-Match:"53135bfd970c6b34f39ea3c4780ed240" 
Referer:http://localhost:3000/ 
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.46 Safari/536.5 
X-CSRF-Token:0udJ3o2BmIxf9nP7BeUD9pa/FTysUFqb2QKnQSUFO4c= 
X-Requested-With:XMLHttpRequest 

該cookie從未改變。

+0

如果我直接調用/logout.json,它的工作原理!這讓我認爲這與jQuery生成的請求有關嗎? –

回答

0

我想通了。我有一個異步。請求同時觸發,所以瀏覽器從來沒有機會獲得適當的會話ID。

相關問題