本人採用的是MVC5+webapi2.X版本做爲代碼基礎框架,在跨域時遇到了一些細節的坑,前端一直訪問提示跨域問題,最後解決了,整體正確的方法總共核心配置的地方有3個,故分享和記錄一下:前端
1:Global全局啓動類中必定要加上這句話web
GlobalConfiguration.Configure(WebApiConfig.Register);api
2:WebApiConfig.cs跨域
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
//跨域配置
config.EnableCors(new EnableCorsAttribute("*", "*", "*"));
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "ActionApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional });
}
}框架
3:Web.config,這一步就是我遺漏掉了的less
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>spa
加到webserver中server