如果您正在使用localhost
,请将其更改为本地主机的IP地址。 Android
似乎不支持此功能,而iOS
则支持。
如果不起作用,请尝试实际主机名。
首先,您不需要使用CORS从Android设备调用API。
其次,可能是您的服务器拒绝了您的请求。如果您正在使用云,则您的服务器必须接受来自任何IP的请求。必须有一个选项允许IP地址,将0.0.0.1到254.254.254.254放置在那里,以便每个用户都可以调用您的API。
第三,您需要在config.xml
中允许来源,并且在CROS请求的标头中也要允许。检查您的API标头和config
文件。
第四,如果您的服务正在运行http下,这也可能是问题所在。通过添加SSL证书来保护您的服务。这可能会解决您的问题。
<access origin="*" />
。我认为这意味着它允许所有的东西。 - nullNativeHttp
,则有一个选项可以不检查 SSL 证书。在调用 HTTP 请求之前,请尝试使用此代码:this.http.setSSLCertMode('nocheck');
。但是,这仅适用于测试目的,最好不要在生产环境中使用。 - ZearaeZ@angular/common/http
中的HttpClient
。我不确定NativeHttp
。 - null解决方案是在您的环境中添加NODE_TLS_REJECT_UNAUTHORIZED=0
以禁用Node.js中的SSL验证。
注意:
您应该只在开发中设置此项,不要在生产中这样做。
编辑
在这种情况下,这表明您的服务器上没有正确设置CORS。请查看问题here
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
。 - nullcor
npm 模块。 - null