Как настроить Sinatra так, чтобы статические файлы в общей папке возвращаются с ответом Access-Control-Allow-Origin = "*"?
Sinatra access-control-allow-origin для общей папки sinatra
Ответ 1
Посмотрите на этот вопрос здесь: Sinatra OPTIONS HTTP Verb. Теперь он реализован в синатре, поэтому вам не нужно его взламывать.
Если это не поможет взглянуть на это сообщение в блоге: Перекрестный поиск ресурсов с помощью Sinatra и его репо в github: sinatra-corss_origin
Хотя самый простой способ сделать это должен работать, добавив это:
response['Access-Control-Allow-Origin'] = 'http://whatever.org'
перед возвращаемым значением в вашем маршруте.
Ответ 2
get '/foo' do
headers 'Access-Control-Allow-Origin' => 'http://example.com'
'hello world'
end
Там также есть приятное расширение для совместного использования в Cross Source:
https://github.com/britg/sinatra-cross_origin
require 'sinatra'
require 'sinatra/cross_origin'
# To enable cross origin requests for all routes:
configure do
enable :cross_origin
end
# To only enable cross origin requests for certain routes:
get '/cross_origin' do
cross_origin
"This is available to cross-origin javascripts"
end
Ответ 3
Я сделал это на стороне сервера, мой файл был вызван server.rb:
before do
content_type :json
headers 'Access-Control-Allow-Origin' => '*',
'Access-Control-Allow-Methods' => ['OPTIONS', 'GET', 'POST']
end
Ответ 4
Это решение работает для меня и основано на ответе на похожий вопрос. Как добавить заголовки "Access-Control-Allow-Origin" в ответ API в Ruby
get '/' do
response['Access-Control-Allow-Origin'] = '*'
"asdf" # return "asdf"
end