Я создаю простой бэкэнд Синатры с ReactJS внешним интерфейсом. Когда я пытаюсь сделать запрос на маршрут в моем проекте Sinatra из приложения React, это вызывает ошибку CORS. Я попытался включить CORS в моем проекте, как это, но это не сработало:
require 'sinatra'
require 'sinatra/cross_origin'
require 'json'
configure do
enable :cross_origin
end
set :allow_origin, :any
set :allow_methods, [:get, :post, :options]
set :allow_credentials, true
set :max_age, "1728000"
set :expose_headers, ['Content-Type']
get '/' do
'Hello!'
end
post '/download' do
content_type :json
return {res: params['songs']}.to_json
end
Так что, когда я делаю запрос, подобный этому из React:
axios.post('http://localhost:4567/download', {}, {
songs: this.state.songs
}).then(res => {
console.log(res.data)
})
, я получаю CORS ошибка, которая выглядит так:
И я получаю эту ошибку в консоли:
Что следует Я изменяю в своем проекте Sinatra / React эту работу, чтобы я мог отправлять запросы из React в Sinatra?