![](/img/trans.png)
[英]Laravel CORS -Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested
[英]Laravel7 CORS : blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin'
用例:VueJS/Laravel 应用有库存。 使用 SOAP API 调用 Magento2 以从 VueJS/Laravel 更新数量。
错误如下共享:
Access to XMLHttpRequest at ' http://xx.yyy.abc.123/rest/V1/integration/admin/token?username=admin&password=xxxxx ' from origin ' http://192.168.0.x ' has been blocked by CORS 策略:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”header。
注意:我是这个领域的初学者。 我可能会问一些愚蠢的问题。 请容忍我并在这里请求帮助。
使用的工具/应用程序:
调试工作:
Origin: http://192.168.0.x
Magento2: http://xx.yyy.abc.123
axios.post("http://xx.yyy.abc.123/rest/V1/integration/admin/token?username=admin&password=xxxxx",
{
})
.then((response) =>
{
console.log("response.data",response.data);
this.apiResponse = response.data;
//this.getproduct();
})
.catch(error =>
{
alert('ERROR GETCATEGORY!!!! No Data found');
console.log(error.response);
});
问题:
如果您在这方面需要更多信息来帮助我,请告诉我。 谢谢你的帮助。 问候,
在处理 Vue.js 项目时,我遇到了相同的 CORS 错误。 我终于在今天早上解决了这个问题。 您可以通过构建代理服务器或其他方式来解决此问题,即禁用浏览器的安全设置(例如,CHROME)以访问跨源 API。 这两种解决方案都对我有用。 后一种解决方案是最简单的解决方案,不需要构建任何模拟服务器或代理服务器。 这两种解决方案都可以在前端解决。
您可以通过在终端上键入以下命令来禁用浏览器 (CHROME) 安全设置以从源访问 api:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --user-data-dir="/tmp/chrome_dev_session" --disable-web-security
在终端上运行上述命令后,将打开一个禁用安全设置的新 chrome window。 现在,再次运行您的程序(npm run serve / npm run dev),这次您将不会收到任何 CORS 错误,并且能够使用 axios 获取请求。
希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.