2011-12-02 41 views
1

我正在使用JSONP來回答與站點不同的服務器上的AJAX調用。它工作得很好,除了在IE上,我無法保持會話。JSONP,Java Servlets和Internet Explorer

回答請求的站點使用Java Servlets。它適用於Firefox,但我在IE中遇到問題,因爲它不接受Cookie。 (我可以把它通過改變安全設置工作。)

從那裏我試圖把會話ID的請求的URL:

的listAction:服務器+'/網站/ gateway.jsp電流=頁面& next = something & jsessionid ='+ session +'& callback =?'

(我寫回調=?因爲我用jQuery的,這是你如何能做到JSONP)

它仍然無法正常工作。我寫錯了嗎?它還在看我的餅乾嗎?我可以配置我的servlet來加載我想要加載的會話嗎?

回答

3

這實際上是與iFrames相同的問題。您需要設置一個p3p標題。

request.setheader('P3P:CP =「NOI ADM DEV COM NAV OUR STP」');

爲什麼IE阻止您使用Cookie與JSONP,但允許你如果你只是添加一些頭?誰知道。標題代表隱私政策。我想他們不認爲惡意黑客會對他們的隱私政策不誠實。

如果您銷售有關您的用戶的信息或有其他原因擔心您的用戶提起訴訟,則應確保您的p3p標題準確反映了您的隱私政策,因此您需要做更多的研究。

這是相同的問題,但關於iFrames:Cookie blocked/not saved in IFRAME in Internet Explorer