2012-03-09 33 views
1

我正在發送一個http請求,併發送一個cookie。我可以看到Cookie名稱和它在Reources/Cookies中的值127.0.0.1/當我在資源/ Cookies中有沒有顯示cookie

這是問題:當我嘗試使用document.cookie在Web控制檯上獲取cookie時,沒有cookie,結果是空""

這是我的http請求使用Ext js。

new Ext.Application({ 
launch : function() { 

    Ext.util.JSONP.request({ 
     url : 'host', 
     params : { 
      method : 'GET', 
      username : 'userName', 
      password : 'password', 
      press : 'Login' 
     } 
    });  
} 
}); 

我注意到,我可以通過document.cookie得到檢測控制檯的cookie時我常登錄的網站上,但是當我通過這個代碼發送HTTP請求,我不能得到它檢測控制檯。

我很感激你是否爲我提供了問題的解決方案以及解釋爲什麼/何時發生這種情況?

+0

你介意給我們提供你的代碼的相關部分嗎? – Niko 2012-03-09 15:32:00

回答

2

您的腳本是否在您設置Cookie的域中執行?在控制檯中執行document.cookie會爲其執行的域返回cookie。

如果您發送的是qalixa.com域的請求,則會爲該域設置Cookie,而不是127.0.0.1。

如果您在本地主機上調試站點,那麼您應該發送請求到「https://127.0.0.1/ce/dynamic/ce/auth.html」。

+0

他所說的是你的localhost下的頁面無法讀取從另一個域發送的cookie(即qalixa.com)。其瀏覽器安全的事情。 – dbrin 2012-03-09 23:27:19

+0

據我瞭解,cookie是以HTTP標頭髮送的,並且無法通過Ajax響應文本發送它? – 2012-03-10 09:44:06

+0

然後,如果網站沒有提供任何用於授權的API函數,則無法檢測cookie是否設置。但是,如果授權是正確的,您可以以授權用戶的身份向網站的服務器發送請求。瀏覽器將發回由該網站的HTTP標頭設置的cookie與請求。 – 2012-03-10 11:19:25