14

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

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

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

如何让 IE 返回 cookie?谢谢!

4

4 回答 4

2

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

于 2013-06-18T17:05:12.753 回答
0

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

$.ajax({
    type: "GET",
    url: "getRequestData.do?parameter=GetModelService&t="+Math.random(),
    data: "sub=ADD",
    cache: false,
    ................
    ...............
于 2013-06-18T06:42:29.307 回答
0

尽量避免使用 localhost 或 127.0.0.1 作为 URL 的一部分,看看它是否有任何区别。

于 2013-07-14T23:27:58.420 回答
0

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

于 2013-05-10T20:17:07.550 回答