服务端跨域

一.ashx一般处理程序

context.Response.AddHeader("Access-Control-Allow-Origin", "*");

*代表任何域名均可调用。如指定域名访问请写实际域名地址,多个域名使用逗号隔开

 

二.WebApi

1.首先在NuGet中引入Microsoft.AspNet.WebApi.Cor

2.安装完程序包之后,需要在App_Start中的WebApiConfig.cs配置

   2.1 全局配置(所有webapi接口均实现跨域)

        在WebApiConfig中添加:config.EnableCors(new EnableCorsAttribute("*", "*", "*"));

 

   2.2 非全局配置(单独配置控制器或动作方法)

         首先在WebApiConfig中添加:config.EnableCors();  一定要添加这个,才能使用EnableCorsAttribute,否则,在Contoler或者Action上面添加特性也无效

         在Controler或者action上添加特性[EnableCors(origins: "*", headers: "*", methods: "*")]即可,如果是加在Controler,那么代表其内的所有action均可跨域。如果不想某action实现跨域,那么添加特性[DisableCors]即可。

 

origins:表示的是可以访问当前接口的域名或者IP
例如 origins: "http://localhost:8081/"
methods:表示可以请求当前接口的方法
例如 methods: "GET,POST,PUT,DELETE")
headers:自定义的头部
posted @ 2018-10-17 11:58  张伟大  阅读(269)  评论(0编辑  收藏  举报