NetCore跨域的实现

1.安装程序CORS程序包

使用npm来安装包:Microsoft.AspNetCore.Mvc.Cors

2.配置CORS服务

在 Startup类,ConfigureServices方法里,添加如下代码:
services.AddCors(option=>option.AddPolicy("策略名称", policy => policy.AllowAnyHeader().AllowAnyMethod().AllowCredentials().AllowAnyOrigin()));

新版的CORS中间件已经阻止使用允许任意Origin,即 AllowAnyOrigin 设置了也不会生效,详情如下:

解决办法:使用 WithOrigins 来设置 Origin

policy.AllowAnyHeader().AllowAnyMethod().AllowCredentials().WithOrigins(new []{"http://xxx.xxx.com"});

 

在 Startup类,Configure方法里,添加如下代码:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    app.UseCors("策略名称");
    app.UseMvc();
}

其他写法:

当然也可以不在ConfigureServices里面建策略,我在ConfigureServices中直接添加代码:

services.AddCors();

我在Configure中添加代码:

if (env.IsDevelopment())
{
    app.UseDeveloperExceptionPage();
}
app.UseCors(builder => builder.WithOrigins("http://localhost:8080"));//添加这行
app.UseRouting();
app.UseAuthorization();

3、后台之前写版本控制的时候已经写过了,看下VUE前端。


成功获取值

你可能感兴趣的:(NetCore,VUE)