我正在發送從Sencha到Rails的POST請求。當我使用RestClient Application測試它時,它會給出「200 OK」。但是,當我從煎茶應用程序發送請求,這將返回如下錯誤:CORS POST請求不起作用。請求的資源上沒有「Access-Control-Allow-Origin」標題。哪裏不對?
XMLHttpRequest cannot load http://appointmedoc.herokuapp.com/login.json?_dc=1385013964033.
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'http://localhost' is therefore not allowed access.
雖然在我的Rails代碼application.rb中
after_filter :cors_set_access_control_headers
def cors_set_access_control_headers
headers['Access-Control-Allow-Origin'] = '*'
headers['Access-Control-Allow-Methods'] = 'POST, GET, OPTIONS'
headers['Access-Control-Max-Age'] = '1728000'
headers['Access-Control-Allow-Credentials'] = 'true'
end
現在做什麼人?
如果我想這樣做,沒有架子-CORS是什麼?事實上,我已經看到應用程序使用這個工作正常。 –
我相信你有。但在我看來這是一個壞主意。這很複雜,大多數實現者都很難理解,並導致像你遇到的問題。老實說,我不知道爲什麼有人會覺得有必要在控制器層面上做CORS - 這顯然是Rack中間件所關注的一個問題。而使用正確的中間件需要10分鐘的時間 - 幾乎可以肯定比你在這個問題上花費的時間少得多。 –