首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >即使我启用了cors,PUT和DELETE请求在Web API 2中也不起作用

即使我启用了cors,PUT和DELETE请求在Web API 2中也不起作用
EN

Stack Overflow用户
提问于 2016-07-28 20:45:17
回答 1查看 60关注 0票数 0

我有一个angularjs web应用。我已经在那里集成了这个web api。Get和Post请求正在工作,但当我尝试Put和Delete请求时,它给出一个错误:

无法加载资源:服务器响应状态为405 (不允许使用方法)/#/删除:1 XMLHttpRequest无法加载http://abc.example.net/api/employees/3。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许访问源'http://example.net‘。响应的HTTP状态代码为405。

我用WebApiConfig写了下面的代码。

代码语言:javascript
代码运行次数:0
运行
复制
public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        // Web API configuration and services
                 var cors = new EnableCorsAttribute("http://example.net", "*", "*");
                 config.EnableCors(cors);

        // Configure Web API to use only bearer token authentication.
                    config.SuppressDefaultHostAuthentication();
                    config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType));

        // Web API routes
        config.MapHttpAttributeRoutes();

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

回答 1

Stack Overflow用户

发布于 2016-07-29 01:11:59

使用DynamicPoliceProviderFactory类将所有子域添加到CORS策略中,或者将EnableCorsAttribute的第一个参数修改为*以允许所有源。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38636776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档