Sinatra access-control-allow-origin для общей папки sinatra - PullRequest
15 голосов
/ 18 августа 2011

Как настроить Sinatra таким образом, чтобы статические файлы в общей папке возвращались с ответом Access-Control-Allow-Origin = "*"?

Ответы [ 3 ]

17 голосов
/ 18 августа 2011

Посмотрите на этот вопрос здесь: ОПЦИИ Sinatra HTTP Verb . Теперь он реализован в sinatra, поэтому вам не нужно взламывать его.

Если это не поможет, взгляните на это сообщение в блоге: Обмен ресурсами между источниками с Синатрой и его репо на github: sinatra-corss_origin

Хотя самый простой способ сделать это должен работать, просто добавив это:

response['Access-Control-Allow-Origin'] = 'http://whatever.org'

перед возвращаемым значением в вашем маршруте.

6 голосов
/ 11 декабря 2014
get '/foo' do
  headers 'Access-Control-Allow-Origin' => 'http://example.com'
  'hello world'
end

Есть также хорошее расширение для обмена между источниками:

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 голосов
/ 16 ноября 2017

Я сделал это на стороне сервера, мой файл назывался server.rb:

before do
   content_type :json    
   headers 'Access-Control-Allow-Origin' => '*', 
            'Access-Control-Allow-Methods' => ['OPTIONS', 'GET', 'POST']  
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...