在.NET Core 1.1 Web Api应用程序中,CORS可以接受来自特定URL /域的请求并接受标题。
services.AddCors(options =>
{
options.AddPolicy("CORS_LocalHost", builder => builder
.WithOrigins("http://localhost:5000")
.WithHeaders("accept", "content-type", "origin", "app-key")
.AllowAnyMethod()
);
});
使用jQuery .ajax()从另一个.NET Core Web App启动AJAX请求,并在“标题”中定义自定义“app-key”标头。
var request = $.ajax({
type: "GET",
url: 'http://localhost:5050/resources/category/1',
cache: false,
contentType: "application/json; charset=utf-8",
dataType: "json",
headers: { 'app-key': 'testapikey' }
});
并且Web Api域已成功接收请求,并使用此类
等自定义中间件进行处理if (!httpContext.Request.Headers.Any(h => h.Key == APPKEY_HEADER))
确定是否存在自定义“app-key”标头。但是,自定义“app-key”标头不是请求中的九(9)个标头之一
我也试过
beforeSend: function(xhr){xhr.setRequestHeader('app-key', 'testapikey');},
w /相同的结果。
是否需要在.NET Core Web Api项目中设置jQuery ajax选项?
注意:此端点已经过邮差成功测试。