【问题标题】:CORS issue with PUT request from reactjs to asp.netCore api从反应 js 到 asp.net Core api 的 PUT 请求的 CORS 问题
【发布时间】:2021-11-18 19:53:22
【问题描述】:

我正在使用带有 Sql 数据库的 Asp.netCore API 开发 Reactjs 应用程序 部署到 IIS 服务器。 除任务上的 PUT 操作外,所有操作均正常运行 它因 CORS 错误而中断,请求未到达后端,我在本地对其进行了测试,并且工作正常。使用 Postman 进行测试,即使部署的版本与 postman 一起使用,它也可以正常工作。我不知道是什么问题,也不知道应该从哪里开始调试。

startup.cs

       public void ConfigureServices(IServiceCollection services)
       {
            services.AddCors(o => o.AddPolicy(name: CorsPolicy, builder =>
           {
               builder.WithOrigins(FrontEnd_URL).SetIsOriginAllowed((host) => 
               true).AllowAnyHeader().AllowAnyMethod().AllowCredentials();
           }));
       }

        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            app.UseRouting();

            app.UseCors(CorsPolicy);


            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id?}");
                endpoints.MapHub<TrelloHub>("/trello");

            });
        }

任务控制器

    [Route("/api/tasks")]
    [ApiController]
    public class TasksController : Controller
    {
        private readonly IMapper _mapper;
        private readonly ITaskService _taskService;

        public TasksController(ITaskService taskService , IMapper mapper)
        {
            _mapper = mapper;
            _taskService = taskService;
        }

        [HttpPut("{id:int}", Name = "UpdateTask")]
        public async Task<String> UpadateTask([FromBody]TaskDto taskdto, int id)
        {
            
            var taskModel = _mapper.Map<Task>(taskdto);
            return await _taskService.UpadateTask(id , taskModel);
        }
}

【问题讨论】:

    标签: sql reactjs asp.net-core iis react-hooks


    【解决方案1】:

    首先检查 IIS 服务器日志。它可以帮到你很多,还要查看reactjs客户端origin:头的请求头,并将其添加到允许的来源

    【讨论】:

    • 非常感谢您的评论,我检查了事件查看器,它在将 dateTime 属性转换为字符串时显示错误
    猜你喜欢
    • 2020-11-30
    • 2021-10-24
    • 2021-02-15
    • 2020-12-20
    • 2022-01-18
    • 2020-06-07
    • 2020-06-08
    • 2017-03-13
    • 2016-05-16
    相关资源
    最近更新 更多