用vscode .net5 vue3解决跨域问题

参考一下官方文档:https://docs.microsoft.com/zh-cn/aspnet/core/security/cors?view=aspnetcore-5.0#attr

先在vscode里ctrl+shift+p,填入Nuget Package Manager:Add Package

输入 Microsoft.AspNetCore.Cors 确定,选择版本确定。

然后在controllers文件中

using Microsoft.AspNetCore.Cors;

在startup.cs中加入如下代码:

 public void ConfigureServices(IServiceCollection services)
    {
      //cors跨域设置
      services.AddCors(options =>
      {
        options.AddPolicy("policy",
        builder =>
        {
          builder.WithOrigins("http://localhost:8080/");
        });
      });
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {

      app.UseHttpsRedirection();

      app.UseRouting();

      app.UseCors();

      app.UseAuthorization();
}

注意app.UseCors放在app.UseRouting之后,否则会报错。

然后在controllers方法前加入[EnableCors("policy")],注意policy是刚才自己定义的。

    [HttpPost]
    [EnableCors("policy")]
    public List<Users> Login()
    {
      return _db.Set<Users>().ToList();
    }

 

 
posted @ 2021-01-16 12:35  认真的老鱼儿  阅读(889)  评论(0)    收藏  举报