using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using System.Web.Http;
using System.Web.Http.Controllers; namespace Common
{
public class Cors : DelegatingHandler
{ protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
HttpResponseMessage response = base.SendAsync(request, cancellationToken).Result;
response.Headers.Add("Access-Control-Allow-Origin", "*");
return Task.FromResult<HttpResponseMessage>(response);
}
}
}
首先重写 DelegatingHandler 中的 SendAsync 方法
就这么三行,其目的是给响应头中添加 Access-Control-Allow-Origin:* 这一句话
然后再Global文件中注册这个方法
GlobalConfiguration.Configuration.MessageHandlers.Add(new CorsHandler());
然后这个时候就可以直接用Ajax方法调用我们项目中的各种方法了。
Ajax方法的url 参数一定要写绝对路径。