每当我运行"离子 cordova 运行Android"并在真实设备中部署APK时,我收到错误消息:CORS策略已阻止从源"http://localhost:8080"访问位于"http://XXXX/mobile/data/1/XXXX"的XMLHttpRequest:对印前检查请求的响应未通过访问控制检查:印前检查请求不允许重定向。
(this通过在配置文件中添加代理在离子模拟器中工作,而不是真实设备)。
有人也面临这个问题吗?以下是我的离子信息:离子(离子CLI):4.2.1(/usr/local/lib/节点模块/离子)离子框架:离子Angular 3.9.2@离子/应用程序脚本:3.2.0
cordova :
cordova ( cordova CLI):8.1.2(cordova-lib@8. 1. 1) cordova 平台:Android 7.1.2 cordova 插件:cordova插件离子键盘2.1.3,cordova插件离子网络视图2.2.3,(和8个其他插件)
系统:
NodeJS :v8.12.0(/usr/本地/bin/节点)节点管理:6.4.1操作系统:macOS High Sierra
3条答案
按热度按时间ajsxfq5m1#
后端必须启用访问API的其他应用程序,这可以通过启用CORS来完成。
在开发中,您可以在chrome中使用此插件:
在生产中,后端应修复该错误。
cwdobuhd2#
这是一个服务器端问题,您必须在the following link中激活CORS,您将找到服务器的必要配置。
wnrlj8wa3#
自该问题创建以来已超过4年。
上周末我也遇到了同样的问题,最后,今天找到了我的解决方案:
这是我的错误,和你的一样:CORS策略已阻止从源"https://localhost"访问位于"https://myhost.com/api/myapi"的XMLHttpRequest:对印前检查请求的响应未通过访问控制检查:请求的资源上不存在"Access-Control-Allow-Origin"标头。
几年前我上课的时候,我们做了一个Android应用程序,它有一个后端,在它上面,我们只允许本地主机请求,所以我尝试将它添加到我的服务器CORS,所以我这样做:
NET核心6代码
然后我可以在android设备和api之间发出请求,也可以发出web请求。