服务端跨域
一.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实现跨域,那么添加特性[
origins:表示的是可以访问当前接口的域名或者IP
例如 origins: "http://localhost:8081/"
methods:表示可以请求当前接口的方法
例如 methods: "GET,POST,PUT,DELETE")
headers:自定义的头部