我正在使用Angularfire 2并从我的ionic 4 app.How调用云函数来解决以下ionic 4中的CORS问题??
CORS策略阻止了对从源'http://localhost:8100‘获取'https://null-myionicshop-693bc.cloudfunctions.net/subscribeToTopic’的访问:对印前检查请求的响应未通过访问控制检查:请求的资源上不存在' Access - control -Allow- origin‘标头。如果不透明的响应满足您的需求,请将请求的模式设置为'no- CORS‘,以便在禁用CORS的情况下获取资源。
发布于 2019-08-12 16:43:10
亲爱的,当我尝试在ionic 4中通过Httpclient Angular 7发布时,我也遇到了同样的错误,因为我在api url前添加了下面的链接,这对我很有效。https://cors-anywhere.herokuapp.com/
例如:https://cors-anywhere.herokuapp.com/http://something.com/api/details.php
当在本地主机上运行api时。如下所示:
1-以管理员身份运行"Cmd“
2-"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe“--禁用web安全--禁用-gpu--用户数据目录=~/chromeTemp
在cmd上运行此命令。新的chrome会话将自动启动。在这里运行ionic项目。
发布于 2019-01-28 18:47:13
只有当我们在运行ionic serve或ionic run -l时运行或测试我们的应用程序时,CORS才是一个问题。
有两种方法可以解决这个问题:第一种也是更简单的解决方案是只允许来自您的API端点的所有来源。
其次,您可以使用代理服务器来完成此操作。假设我们想要访问https://null-myionicshop-693bc.cloudfunctions.net/subscribeToTopic,这不允许我们从本地主机获取数据。
proxies设置包含两个内容:用于在本地离子服务器上访问它们的路径,以及您最终希望从proxyUrl调用到达的代理。
将您的ionic.project文件设置为类似于:
{
"name": "proxy-example",
"app_id": "",
"proxies": [
{
"path": "/subscribeToTopic",
"proxyUrl": "https://null-myionicshop-693bc.cloudfunctions.net/subscribeToTopic"
}
]
}正如我们在上面指定的,当您访问路径为http://localhost:8100/api的离子服务器时,它会代表您将请求代理到https://null-myionicshop-693bc.cloudfunctions.net/subscribeToTopic。
因此,不需要CORS。
我希望这能帮到你!谢谢
发布于 2019-02-15 22:09:41
我认为你必须检查你的离子日志,它在~/.onic/helper.log中,在我的例子中我的错误是:
[ERROR] Error loading @ionic/angular-toolkit package.json: Error: Cannot find module '@ionic/angular-toolkit/package'所以我安装了"@ionic/angular-toolkit/ package“包,然后配置了我的angular.json:
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "app:build",
"proxyConfig": "proxy.conf.json"
},然后完美工作所以我的建议是。检查您的离子日志
https://stackoverflow.com/questions/54392129
复制相似问题