最近新开项目,项目初期本地部署访问webapi,api采用JWT验证,发现加上Authorization请求头后就报跨域问题,网上很多方案例如修改webconfig请求头什么的,均测试未果,多方尝试后有了以下方案,一行代码便完全解决跨域问题,特此记录!
1、NuGet下载 Microsoft.AspNet.WebApi.Cors
2、App_Start中修改WebApiConfig类
原有方法中添加以下代码:
config.EnableCors(new System.Web.Http.Cors.EnableCorsAttribute("*", "*", "*"));
重新发布,完美解决跨域问题
原理:其实是在服务器响应web端请求时响应头中添加了:Access-Control-Allow-Origin *,即为告诉了浏览器。如果请求我的资源的页面是我这个响应头里记录了的"源",则不要拦截此响应,允许数据通行,具体项目中还可以将通配符替换为你发起请求的链接,如此就只有配置中的链接才能访问该api否则都是跨域
标签:Asp,跨域,响应,NetWebApi,api,Cors,请求 From: https://www.cnblogs.com/sgyq/p/17309386.html