问题:
使用 ngResource 访问 REST API 时Amazon Web Services,您遇到以下情况错误:
XMLHttpRequest cannot load <url>. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin '<origin>' is therefore not allowed access.
原因:
此问题源于跨源资源共享 (CORS) 限制,该限制会阻止一个域上的 Web 应用程序发出请求没有明确的其他域
解决方案:
解决 CORS 问题的方法有多种:
1.禁用 CORS:
2.浏览器插件:
3.代理服务器:
4。服务器配置:
5.带有 Promise 的 HTTP 示例:
const makeRequest = (url, options) => { return new Promise((resolve, reject) => { const request = new XMLHttpRequest(); request.open(options.method, url); request.setRequestHeader('Accept', 'application/json'); request.onload = () => { if (request.status >= 200 && request.status < 300) { resolve(request.response); } else { reject({ status: request.status, statusText: request.statusText }); } }; request.onerror = () => { reject({ status: request.status, statusText: request.statusText }); }; request.send(options.body); }); };
以上是如何解决'XMLHttpRequest 无法加载。对预检请求的响应未通过访问控制检查”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!