Come configurare Sinatra in modo che i file statici nella cartella pubblica vengano restituiti con la risposta Access-Control-Allow-Origin = "*"?Sinatra access-control-allow-origin per la cartella pubblica di sinatra
risposta
Dai un'occhiata a questa domanda: Sinatra OPTIONS HTTP Verb. Ora è implementato in sinatra in modo da non doverlo aggirare.
Se ciò non aiuta a dare un'occhiata a questo post sul blog: Cross Origin Resource Sharing with Sinatra, e la sua pronti contro termine a GitHub: sinatra-corss_origin
Anche se il modo più semplice per farlo dovrebbe funzionare solo con l'aggiunta di questo:
response['Access-Control-Allow-Origin'] = 'http://whatever.org'
prima del valore restituito nel percorso.
get '/foo' do
headers 'Access-Control-Allow-Origin' => 'http://example.com'
'hello world'
end
C'è anche una bella estensione per la condivisione di origine croce:
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
La gemma funziona? Ho provato e non sono riuscito a visualizzare l'intestazione 'Access-Control-Allow-Origin' finché non l'ho aggiunta esplicitamente nel mio metodo di risposta come nella risposta di @daddz – sameers
Ho fatto questo su un lato server, il mio file è stato chiamato server.rb:
before do
content_type :json
headers 'Access-Control-Allow-Origin' => '*',
'Access-Control-Allow-Methods' => ['OPTIONS', 'GET', 'POST']
end
Grazie. Ho ottenuto solo il primo bit, 'intestazioni" Access-Control-Allow-Origin "=>" * "', per consentire una richiesta GET. Non ho provato altri verbi. –
- 1. Set default_type per Sinatra
- 2. Equivalente Python di Sinatra
- 3. server push di Sinatra?
- 4. Rails 3 vs Sinatra
- 5. Meno blocchi Applicazione Sinatra
- 6. Documentazione API REST di Sinatra
- 7. Accesso intestazioni da Sinatra
- 8. Sinatra vs. Rails
- 9. Sinatra - API - Autenticazione
- 10. Devise with Sinatra
- 11. metodo `Sinatra` sviluppo?` Undefined
- 12. Conflitto Mechanize & Sinatra
- 13. Sinatra Url '/' interpretazioni
- 14. Sinatra e http PUT
- 15. Sinatra variabile Ambito
- 16. Caricamento file con Sinatra
- 17. Come utilizzare Sinatra per offrire documenti XML?
- 18. Cosa si intende per Modular in Sinatra?
- 19. Nessun file di questo tipo per caricare passeggeri e Sinatra
- 20. Autenticazione per l'app API Sinatra REST
- 21. Posizione geografica in Ruby/Sinatra?
- 22. Perché sinatra è un DSL?
- 23. Rack :: Session :: Pool con Sinatra
- 24. Come rendere aiutante modulare Sinatra
- 25. Sinatra in streaming con Puma?
- 26. Utilizzando Sidekiq, Capistrano, Sinatra per implementa
- 27. Usa Rack :: CommonLogger in Sinatra
- 28. Erb con Sinatra in rubino
- 29. Stubbing Sinatra aiutante in Cetriolo
- 30. Testare localmente HTTPS su Sinatra
Non sto usando 'response' ma' headers': 'headers (" Access-Control-Allow-Origin "=>" * ")' – fguillen
Molte grazie per il modo più semplice –