哪些浏览器允许使用Access-Control-Allow-Origin: *
进行跨域ajax调用?我正在设置REST服务并尝试确定是否需要支持JSONP以允许跨域javascript访问,或者是否足以设置Access-Control-Allow-Origin标头。
答案 0 :(得分:40)
Here's one reference建议现代浏览器中的支持是合理的(但请参阅本答案末尾的注释),假设客户端代码故意处理IE问题。 (IE8和IE9支持CORS,但不能通过XMLHttpRequest
- 您必须使用XDomainRequest
,而且值得注意的是,jQuery和Prototype都没有为您做到这一点ajax包装器 - 我不知道other libraries。IE10 最终使它正确。)该页面实质上说,桌面版本支持CORS:
XDomainRequest
),IE10 +(正确)......以及
您必须问问自己目标市场是什么以及他们是否仍可能使用旧版本的IE,因为it matters quite a lot是您的目标市场。 但总的来说,你(目前)仍然可能想看一下JSONP界面 - 即使在美国大部分家庭市场,IE6 + IE7 =大约20%的用户。我不知道很多网站可以忽略五分之一的市场。 :-)如果你看一下企业用户,或亚洲,非洲或中美洲的用户,这个数字会明显上升。 2010年的情况就是如此。在2013年,中国真的是唯一坚持使用IE6的人(那里有> 24%)。在全球范围内,IE6和IE7用户已经转向IE8和IE9,甚至大公司和政府用户也最终“了解”了安全风险。 IE8将与我们在一起一段时间(因为IE在Windows XP上有很高的优势),但你可以打赌使用IE9的近20%很快将在IE10上。
答案 1 :(得分:0)
使用Access-Control-Allow-Origin:*时遇到了一些问题。我认为它与cookie和预检请求(POST)有关。因此,最好指定您将从哪个域进行这些调用。