Javascript Web API控制器不尊重CORS来源

Javascript Web API控制器不尊重CORS来源,javascript,c#,asp.net-web-api,cross-domain,cors,Javascript,C#,Asp.net Web Api,Cross Domain,Cors,我最近在我的Web API控制器中实现了cors。我正在从domain2上的客户端调用位于domain1上的web api 对于源代码,我指定了一个伪造的url。据我所知,只接受来自此url的呼叫。这是正确的吗 所以只有来自 http://notgoingtowork.com 将能够调用控制器并返回数据 这是我的控制器(域1) 然后在我的另一个领域,ajax调用(domain2) 但是,请求仍然成功,并且正在返回数据。由于客户端不在“”上,它如何能够成功地执行此操作?我错过了什么 我在IE1

我最近在我的Web API控制器中实现了cors。我正在从domain2上的客户端调用位于domain1上的web api

对于源代码,我指定了一个伪造的url。据我所知,只接受来自此url的呼叫。这是正确的吗

所以只有来自

 http://notgoingtowork.com
将能够调用控制器并返回数据

这是我的控制器(域1)

然后在我的另一个领域,ajax调用(domain2)

但是,请求仍然成功,并且正在返回数据。由于客户端不在“”上,它如何能够成功地执行此操作?我错过了什么

我在IE11上做这个。这在铬上可以很好地工作

编辑: 这是WebApiConfig.cs文件 这是相当通用的。我刚刚添加了Cors部分

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        config.EnableCors();
        config.MapHttpAttributeRoutes();

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }
}
IE 11中有“跨域访问数据源”设置,请确保该设置已禁用:

您是否也验证了
数据的值?不仅仅是
警报()
是。所有这些数据都会返回您的
Startup.cs
中是否有启用cors的内容?在进行Ajax调用后,IE 11控制台中是否有任何内容?另外,您的客户机实际上在不同的域上吗?我在其中添加了web api配置部分。IE控制台中没有显示任何内容。除了标准的200 OK结果,您能解释一下该设置对API调用的作用吗?@PawOrmstrupMadsen它基本上不允许跨域访问数据源这是一个安全的建议设置。你应该启用这个只有当你知道你在做什么。我有一个安装与angular 6网络应用程序和一个aspnet核心api与正确的cors设置,在2个不同的网址。api实际上是使用windows auth生成jwt令牌,angular应用程序使用该jwt令牌访问数据,但如果pc启用了此设置,IE 11会不断请求凭据,但无法键入正确的凭据。Chrome似乎没有使用“互联网选项”,所以它工作正常。如果我将其设置为提示或禁用,IE 11将再次正常工作。所以我想知道这个设置对xhr调用有什么影响?它似乎会弄乱请求头?我不负责这个设置,这是一个在GPO中启用它的大组织。我们正试图让他们禁用它。
   $.ajax({
            url: "http://domain1/api/Test/Get", 
            method: "GET", 
            headers: { "accept": "application/json;odata=verbose" },
            success: function (data){alert("it worked");},
            error: function (error) { alert("Did not work"); }
        })
public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        config.EnableCors();
        config.MapHttpAttributeRoutes();

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }
}