我在WebApiConfig中使用Web API 2.我有这个。
private static void EnableCrossSiteRequests(HttpConfiguration config)
{
var origin = WebConfigurationManager.AppSettings["origin"];
var cors = new EnableCorsAttribute(
origins: "*",
headers: "*",
methods: "*");
config.EnableCors(cors);
}
注册方法
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
EnableCrossSiteRequests(config);
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Filters.Add(new ErrorHandler());
}
从我的理解不应该是我需要的所有工作吗?当它们一起托管时,它在我的开发计算机上工作。但现在一个在Web服务器上,API在不同的Web服务器上。
我收到了 - Origin ...在Access-Control-Allow-Origin标头中找不到。
我设置允许所有Origin。我已经尝试在web配置中添加它,并在Stack溢出周围发布其他方法。我不明白为什么会被拒绝?
前端是Angular,使用Ngresource来处理请求。
如果我在chrome dev工具中使用Network选项卡,对请求的响应是200 OK,之后没有其他任何事情发生。一整天都在寻找解决方案,到目前为止我所做的一切都没有效果。
谢谢。
答案 0 :(得分:0)