使用 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中文网其他相关文章!