跨域问题

Web api 的解决方案

  1. 需要在web.config中的<system.webServer>节点中添加如下的内容
1
2
3
4
5
6
7
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
</customHeaders>
</httpProtocol>
  1. 在App_Start文件夹下的WebApiConfig.cs类中加入下面的函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/// <summary>
/// 允许跨域调用
/// </summary>
/// <param name="config"></param>
private static void EnableCrossSiteRequests(HttpConfiguration config)
{
//对所有的请求来源没有任何限制
var cors = new EnableCorsAttribute(
origins: "*",
headers: "*",
methods: "*"
);
config.EnableCors(cors);
}

asp.net mvc的解决方案

  1. 只做上述步骤1即可。