NET Core 3.1 API项目 Cors跨域
2021-03-15 18:46
标签:services startup log oca nbsp host on() conf 两种方法 在Startup 的 ConfigureServices中添加 在Startup 的Configure 配置方法里,添加启用Cors中间件服务 注意:如果你使用了 app.UserMvc() 或者 app.UseHttpsRedirection()这类的中间件,一定要把 app.UseCors() 写在它们的上边,先进行跨域,再进行 Http 请求,否则会提示跨域失败。 因为这两个都是涉及到 Http请求的,如果你不跨域就直接转发或者mvc,那肯定报错。 发布到IIS就可以测试了 NET Core 3.1 API项目 Cors跨域 标签:services startup log oca nbsp host on() conf 两种方法 原文地址:https://www.cnblogs.com/shuaichao/p/12416538.html1、配置 CORS 跨域
#region CORS
//跨域第一种方法,先注入服务,声明策略,然后再下边app中配置开启中间件
services.AddCors(c =>
{
//一般采用这种方法
c.AddPolicy("LimitRequests", policy =>
{
policy
.WithOrigins("http://127.0.0.1:1818", "http://localhost:8080", "http://localhost:8021", "http://localhost:8081", "http://localhost:1818")//支持多个域名端口,注意端口号后不要带/斜杆:比如localhost:8000/,是错的
.AllowAnyHeader()//Ensures that the policy allows any header.
.AllowAnyMethod();
});
});
#endregion
2、启动中间件
#region Cors 跨域配置
app.UseCors("LimitRequests");
// 跳转https 有Https时使用
//app.UseHttpsRedirection();
//使用静态文件
app.UseStaticFiles();
//使用cookie
app.UseCookiePolicy();
// 返回错误码
app.UseStatusCodePages();//把错误码返回前台,比如是404
#endregion
3、ajax请求 两种方法都行
$.get("/api/Login/Token", function (data, status) {
console.log(data);
$("#status-cors").html("状态: " + status);
$("#data-cors").html("数据: " + data? data.token:"失败");
});
let postdata = {
"bID": 10
};
$.ajax({
type: ‘post‘,
url: ‘/api/Values‘,
contentType: ‘application/json‘,
data: JSON.stringify(postdata),
success: function (data, status) {
console.log(data);
$("#status-cors-post").html("状态: " + status);
$("#data-cors-post").html("数据: " + JSON.stringify(data));
}
});
文章标题:NET Core 3.1 API项目 Cors跨域
文章链接:http://soscw.com/index.php/essay/65060.html