Internet Explorer 9没有使用我的AJAX请求发送会话cookie。
当我通过AJAX向我的API发出身份验证请求时,它会返回一个设置会话cookie的响应。通过AJAX对API的后续调用不会将cookie发送回服务器。
API位于同一主机上。同样,常规的非AJAX页面请求也不会显示会话cookie。我关闭了Internet选项中的所有隐私和安全设置。 Chrome会正确发送Cookie。
如何让IE返回Cookie?谢谢!
答案 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作为网址的一部分使用,看看它是否有所不同。