![](/img/trans.png)
[英]Zillow API Error:“No 'Access-Control-Allow-Origin' header is present”
[英]No 'Access-Control-Allow-Origin' header is present in Rails API backend
我在Rails中有一個jsonapi-resources
后端api。 我可以使用curl
和Python來請求數據。
當我嘗試使用jQuery
進行請求時,在瀏覽器中出現以下錯誤:
XMLHttpRequest無法加載https://shop-api-3.herokuapp.com/customers?filter%5Bshop_token%5D=9e3c9769b752436ddbd27597cf946a36 。 對預檢請求的響應未通過訪問控制檢查:請求的資源上不存在“ Access-Control-Allow-Origin”標頭。 因此,不允許訪問原始“空”。 響應的HTTP狀態碼為404。
所以我將其添加到config/environments/production.rb
:
config.action_dispatch.default_headers = {
'Access-Control-Allow-Headers' => 'Origin, X-Requested-With, Content-Type, Accept, Authorization',
'Access-Control-Allow-Origin' => '*',
'Access-Control-Request-Method' => '*',
'X-Frame-Options' => 'ALLOWALL'
}
但是,我仍然遇到相同的錯誤。 我想念什么?
FWIW,這是我的curl
命令:
curl -i -H "Accept: application/vnd.api+json" "https://app.herokuapp.com/retentions?filter%5Bshop_token%
5D = ABC123“
使用Rails 4
一個月前我也遇到過同樣的問題,在閱讀了許多博客文章后,我通過...解決了這個問題
因此,似乎您是在使用jquery(從瀏覽器)在另一台服務器上請求api令牌,而不是這樣做,從您的服務器上請求它,然后將其傳遞給客戶端,然后您就可以做任何您想做的事情,這應該可以解決問題。
我對CORS的理解是,您無法將瀏覽器執行到服務器,而必須從服務器(您的域)到服務器(您正在訪問的api)執行。
希望這可以幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.