我正在开发应该向api发出http请求的离子应用程序。这意味着我无法更改服务器端设置。我正在使用有角度的http模块。我的第一次尝试引起了CORS错误,我设法使用如下所示的代理进行修复:
"proxies": [
{
"path": "/api",
"proxyUrl": "https://api.com/api/"
}
]
在使用ionic serve
的情况下,这在浏览器中可以很好地工作,但是在将其部署到设备时,该请求似乎不起作用。
使用浏览器时,它会给出状态代码200和正确的响应。 Response code
部署后,似乎返回了相同的响应,但是在控制台中显示以下error(使用google chrome中的远程设备检索),并且请求的响应选项卡为空
编辑: 我检查了AndroidManifest.xml文件,该文件包含Internet权限。但是,我尝试使用完整URL而不是代理URL将其构建为android,但是应用程序意外关闭。
答案 0 :(得分:0)
那么您直接使用第三方API?通常认为这是一种不好的做法,因为您必须在客户端应用程序上存储或检索API密钥。建议您对API实施自己的后端和代理请求。 如果没有密钥,或者您根本不关心安全性,则可以尝试其他解决方案,这是一篇有关CORS的精彩文章: https://ionicframework.com/docs/faq/cors