You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

首次搭建Rails API对接React遇CORS跨域问题,求技术支持

解决Rails API与React对接的CORS跨域错误

你的CORS错误根源在于Rails后端的跨域配置有误:config/initializers/cors.rb中origins的值末尾多了一个斜杠,导致无法匹配前端的请求来源http://localhost:3001,浏览器因此拦截了请求。

修复步骤:

  1. 修正CORS配置文件
    打开config/initializers/cors.rb,将origins的值改为不带末尾斜杠的地址:

    Rails.application.config.middleware.insert_before 0, Rack::Cors do
       allow do
         origins "http://localhost:3001"
    
         resource "*",
           headers: :any,
           methods: [:get, :post, :put, :patch, :delete, :options, :head]
       end
     end
    
  2. 重启Rails服务器
    Rails初始化文件修改后必须重启后端服务,新的CORS配置才能生效。

  3. 验证请求
    你的React代码中API_URL配置正确,无需修改。重启React前端服务后,再次发起接口请求即可正常访问。

额外排查点(如果问题仍存在):

  • 确认Gemfile中已添加gem 'rack-cors',并执行过bundle install安装依赖;
  • 检查Rails服务器启动日志,确认Rack::Cors中间件已成功加载。

内容的提问来源于stack exchange,提问作者CoolGuy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 06:06:45