【发布时间】:2019-07-11 19:39:51
【问题描述】:
我正在尝试在封闭网络中为 2-3 位用户在本地运行 React/Rails 网站。目前,用户可以访问 React 部分(我将其设置为端口 80)。问题是,我为 Rails 后端设置的 API 调用都在 localhost:3001 上,当我尝试提交 HTTP 请求时,用户对该数据库的访问权限为零。
我知道这是一个 CORS 问题,但我认为下面的代码将允许任何域提出必要的请求。
Rails.application.config.middleware.insert_before 0, Rack::Cors do
allow do
origins '*'
resource '*',
headers: :any,
methods: [:get, :post, :put, :patch, :delete, :options, :head]
end
end
服务器端工作不是我的强项,所以我可能会遗漏一些明显的东西。知道如何打开该后端,以便联网用户可以在其端进行 API 调用吗?
React 在这个 ip 上:http://192.168.2.70:80/
此端口上的 API 调用:3001
来自前端的示例 API 调用(适用于主机;不适用于其他用户):
getData = () => {
axios.get('http://localhost:3001/api/v1/pickup_deliveries')
.then((response) => {
this.setState({
apiData: response.data})
})
.catch((error)=>{console.log(error);});
}
【问题讨论】:
标签: reactjs ruby-on-rails-4 server backend rails-api