我有一个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写了下面的代码。
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 }
);
}
}
发布于 2016-07-29 01:11:59
使用DynamicPoliceProviderFactory类将所有子域添加到CORS策略中,或者将EnableCorsAttribute的第一个参数修改为*以允许所有源。
https://stackoverflow.com/questions/38636776
复制相似问题