Internet Explorer 9 AJAX请求中没有会话Cookie

时间:2012-11-12 20:00:15

标签: ajax internet-explorer-9 session-cookies

Internet Explorer 9没有使用我的AJAX请求发送会话cookie。

当我通过AJAX向我的API发出身份验证请求时,它会返回一个设置会话cookie的响应。通过AJAX对API的后续调用不会将cookie发送回服务器。

API位于同一主机上。同样,常规的非AJAX页面请求也不会显示会话cookie。我关闭了Internet选项中的所有隐私和安全设置。 Chrome会正确发送Cookie。

如何让IE返回Cookie?谢谢!

4 个答案:

答案 0 :(得分:2)

我尝试访问的网址使用了下划线字符('_')。这是一个无效的URL,因此Internet Explorer不能正确接受cookie。修复此问题解决了我的问题实例。

答案 1 :(得分:0)

我在IE9上遇到了get请求的问题。我将$ .getJSON(使用带有查询字符串参数的url)转换为$ .ajax(使用帖子)。我的理论是类似于MS的MVC服务器库,IE不喜欢获取返回JSON的请求。(你必须在MVC中特别允许这个,否则它会给你一个错误,表明返回JSON的get请求有一些安全风险错误)无论如何,因为这是我最热门的谷歌热门之一,我想我会发布对我有用的内容。

答案 2 :(得分:0)

将Math.random()放在url中,如

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

答案 3 :(得分:0)

尽量避免将localhost或127.0.0.1作为网址的一部分使用,看看它是否有所不同。