ajax跨域通过 Cors跨域资源共享 进行GetPost请求

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 参数一定要写绝对路径。

上一篇:Check .NET Version with Inno Setup


下一篇:浅谈配置chrome浏览器允许跨域操作的方法