IE的CORS问题

时间:2018-08-22 06:24:28

标签: javascript c# asp.net

我在应用程序中使用了CORS。在代码中,我提到特定的URL(域)只需要访问我的API。下面是代码,

 public static void Register(HttpConfiguration config)
{
    var cors = new EnableCorsAttribute("www.Test.com", "*", "*");
    config.EnableCors(cors);

}

根据CORS政策,如果我使用域 www.Test.com 调用上述API,则API响应将显示在我的浏览器(JavaScript客户端)中,而如果我从另一个域(例如www.sample.com)的响应将不会显示在浏览器(JavaScript客户端)中。在浏览器Chrome和Microsoft Edge中,该功能正常运行。

当我从IE浏览器运行它时,这是行不通的,即使我从其他域调用API(例如www.sample.com),浏览器仍会呈现响应。 IE有任何问题。

1 个答案:

答案 0 :(得分:0)

这是因为Internet Explorer 9和更低版本会忽略Access-Control-Allow标头,并且默认情况下禁止对Internet区域的跨域请求。

webdavsystem.com中所述:

  

Internet Explorer 9和更早版本将忽略Access-Control-Allow标头   并且默认情况下禁止跨域请求Internet区域。至   启用跨域访问,请转到工具-> Internet选项->安全性   标签,点击“自定义级别”按钮。找到其他->访问   跨域设置数据源,然后选择“启用”选项。

是的,IE很痛苦,IE 11和Edge都意味着要尝试使其变得更简单,但是当处理IE 9及以下版本时,IE 9仍然会变得非常困难。