2012-11-12 86 views
14

Internet Explorer 9不會通過我的AJAX請求發送會話cookie。Internet Explorer 9上沒有會話Cookie AJAX請求

當我通過AJAX向我的API發出認證請求時,它會返回一個設置會話cookie的響應。隨後通過AJAX調用API不會將cookie發送回服務器。

該API位於相同的主機上。同樣,常規的非AJAX頁面請求也不會顯示會話cookie。我關閉了Internet選項中的所有隱私和安全設置。 Chrome會正確發送Cookie。

如何讓IE返回cookie?謝謝!

+0

你能發佈HTTP請求和響應頭嗎? – slashingweapon

+0

今天我遇到了同樣的問題。我還沒有找到解決辦法。請保持這個問題更新可能的方法! –

+0

我發現http://www.dotnet-developer.de/2012/01/aspnet/session-cookies-lost-in-internet-explorer-ie9/,但我還沒有完全理解它。如果我只添加描述的HTTP-Header,一切似乎都能正常工作,但IE仍然說我沒有隱私政策。 –

回答

0

我有一個獲取請求與IE9此問題。我從$ .getJSON(使用具有查詢字符串參數的url)轉換爲$ .ajax(使用帖子)。我的理論是類似於MS的MVC服務器庫,IE不喜歡得到返回JSON的請求(你必須在MVC中明確允許它,或者它給你一個錯誤,指出獲取返回JSON的請求有一些安全風險錯誤)無論如何,因爲這是我的頂級谷歌命中之一,我想我會發布什麼爲我工作。

0

只要把的Math.random()的URL一樣,

$.ajax({ 
    type: "GET", 
    url: "getRequestData.do?parameter=GetModelService&t="+Math.random(), 
    data: "sub=ADD", 
    cache: false, 
    ................ 
    ............... 
2

我正在試圖訪問的URL中使用下劃線( '_')。這是一個無效的網址,因此Internet Explorer無法正確接受Cookie。解決這個問題解決了我的實例。

+0

我有同樣的問題,並且我在URL中也有下劃線。您的網址是否在網域或子網域中有下劃線或在網址的其餘部分有下劃線? –

0

儘量避免使用本地主機或127.0.0.1作爲您的URL的一部分,看看它是否有任何區別。

相關問題