(未知URL)的HTTP故障响应:Android上的0未知错误

时间:2018-08-23 14:43:18

标签: android node.js angular cordova ionic-framework

我有一个离子应用程序,当我在iOS上运行该应用程序时,它运行得很好,但是当我在Android上运行该应用程序时,出现此错误

Http failure response for (unknown url): 0 Unknown Error

enter image description here

我为什么要得到这个?我已允许在服务器端使用CORS,因为它在iOS设备上正常工作。

有帮助吗?

编辑

这就是我的app.js文件中的内容

const cors = require('cors');

然后我将其与默认选项一起使用。

app.use(cors());

4 个答案:

答案 0 :(得分:2)

如果使用localhost,请将其更改为localhost的IP地址。 Android似乎不支持iOS

尝试实际的主机名,以防它也无法正常工作。

答案 1 :(得分:1)

首先,您不需要CORS从您的android设备调用API。

第二可能您的服务器不接受您的请求。如果您使用的是Cloud,则您的服务器必须接受来自任何IP的请求。必须有一个允许IP地址的选项,将其放置在0.0.0.1到254.254.254.254之间,以便每个用户都可以调用您的API。

第三,您需要允许来自config.xml的来源以及CROS请求的标头。检查您的API标头和config文件。

第四,如果您的服务在http下运行,则也可能是问题所在。通过添加SSL证书来保护您的服务。这可以解决您的问题。

答案 2 :(得分:0)

我们在应用程序中多次遇到相同的错误。在我们的例子中,这是请求标头的问题,也是服务器端的CORS问题。

如果您模拟的是Android设备,是否能够在浏览器中重现此错误?然后,您可以将它们与iOS请求的标头进行比较。

或者您可以尝试在服务器端记录传入的请求,以查看请求是否到达服务器以及设置了哪些标头。

希望我的想法有所帮助:)

答案 3 :(得分:-1)

解决方案是将 NODE_TLS_REJECT_UNAUTHORIZED=0 添加到您的环境中以禁用Node.js中的SSL验证。

Note : 您只应在开发中设置此设置,而不在生产中设置

EDIT

在这种情况下,表明未在您的服务器上正确设置CORS。解决问题 here