2012-11-12 48 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的一部分,看看它是否有任何区别。

相关问题