使用 ngResource 與 Amazon Web Services 上的 REST API互動時,使用者可能會遇到以下錯誤:
XMLHttpRequest cannot load http://server.apiurl.com:8000/s/login?login=facebook. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access. Error 405
此錯誤源自於跨域資源共享 (CORS)。 CORS 強制實施安全性限制,防止一個網域(例如 localhost)的資源直接存取另一個網域(例如 server.apiurl.com)的資源。
解決問題,請考慮以下方法:
需要注意的是,從 localhost 存取外部域構成跨域請求。這會觸發 CORS 安全機制,防止未經授權的存取。
雖然停用 CORS 或使用插件可以是測試的快速解決方案,但它並不能解決跨域的根本問題。原點通訊。使用代理或配置伺服器以允許跨網域存取是一種更全面的方法。
以上是為什麼我對 AWS API 的 AngularJS ngResource 請求未通過預檢存取控制檢查?的詳細內容。更多資訊請關注PHP中文網其他相關文章!