代码改变世界

WebAPI 跨域请求设置

2020-11-25 16:01  杨新华  阅读(551)  评论(0)    收藏  举报

方法一

webconfig添加【这个节点必须放在 <system.webServer>节点中】

<httpProtocol>

  <customHeaders>
     <add name="Access-Control-Allow-Origin" value="*" />
     <add name="Access-Control-Allow-Credentials" value="true" />
     <add name="Access-Control-Allow-Methods" value="POST,GET,OPTIONS,PUT,DELETE" />
     <add name="Access-Control-Allow-Headers" value="x-requested-with,content-type,authorization,mypara,username" />
     <add name="Access-Control-Max-Age" value="86400" />
 </customHeaders>
</httpProtocol>
 

方法二

1.WebApi经常遇到的一个问题,就是跨域,如何解决跨域,我还记得几年前为了解决这个问题,需要修改配置文件,还需要在Js中设置某些参数,但是现在只需要在NuGet中引入一程序包就可以完全解决这个问题。【引用】——【管理NuGet程序包】——搜索:Microsoft.AspNet.WebApi.Cors

 

 

2.安装完成之后,需要在【WebApiConfig.cs】添加如下配置。一定要添加这个,否则在Controllter或者Action上面添加这个特性无效。

 

3. 如果需要在某个Controler或者action执行跨域,其它的不执行跨域,只需要添加特性[EnableCors(origins: "*", headers: "*", methods: "*")]即可。

 

 origins:表示是可以访问当前接口的域名或者IP

methods:表示可以请求当前接口的方法

headers:自定义的头部

 

4.如果过要配置全局的跨域,则在APP_Start文件夹里面【WebApiConfig.cs】添加【Config.EnableCors(new EnableCorsAttribute("*","*","*"));】

 

转载:https://www.cnblogs.com/liutaovip/p/12772375.html