Cordova Android应用程序(在XDK中构建)通过HTTPS阻止Ajax请求

Cordova Android应用程序(在XDK中构建)通过HTTPS阻止Ajax请求,android,ajax,cordova,https,Android,Ajax,Cordova,Https,首先,http上的常规Ajax请求可以正常工作。当我试图通过https执行完全相同的Ajax请求(GET)时,问题就开始了 在使用WEINRE进行调试时,我可以在“网络”选项卡中看到请求处于挂起状态,但我得到了伪空响应,其中包含status=0和其他属性empty。更重要的是,服务器端从未收到这些请求。看起来Android就是不让他们走 在构建应用程序之前,我在XDK everywhere的构建设置中设置了通配符:,,。我还添加了以下CSP: <meta http-equiv="Conte

首先,http上的常规Ajax请求可以正常工作。当我试图通过https执行完全相同的Ajax请求(GET)时,问题就开始了

在使用WEINRE进行调试时,我可以在“网络”选项卡中看到请求处于挂起状态,但我得到了伪空响应,其中包含status=0和其他属性empty。更重要的是,服务器端从未收到这些请求。看起来Android就是不让他们走

在构建应用程序之前,我在XDK everywhere的构建设置中设置了通配符:
。我还添加了以下CSP:

<meta http-equiv="Content-Security-Policy" content="default-src * data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src * 'unsafe-inline'; media-src *">
<meta http-equiv="Content-Security-Policy" content="default-src * https: 'unsafe-eval' 'unsafe-inline'">

其他事实:

1) 如果我为iOS构建相同的应用程序,那么它可以正常工作。所以这只是安卓的问题

2) https上的Ajax请求有时可以在Android中工作,但很少。所以我不能说它们每次都被阻止,但我也不能确定它何时起作用,何时不起作用。但大多数时候它都不起作用


3) 前一段时间还不错。我所说的行为不久前就出现了。我认为这个问题可能与服务器端的SSL证书有关(例如,它已过期),但桌面浏览器不会报告任何问题。URL字符串仍为绿色。

在menifest.xml文件中授予权限 与


标记

在menifest.xml文件中授予权限 与


标签已确认!问题在于SSL证书。该服务器在Firefox中也无法访问。当我更改证书后,一切都开始正常工作。

确认!问题在于SSL证书。该服务器在Firefox中也无法访问。当我更改证书后,一切都开始正常工作。

我应该添加哪个权限?我应该添加哪个权限?你能用它测试你的服务器吗?结果是否涉及到不完整的链?@Tom,ssllabs.com不允许检查自定义端口(不是443)上的服务器。我的服务器是8085。我用了。是的,它返回我的服务器SSL证书不可信。那么,这可能是原因吗?但是,桌面浏览器不会报告任何问题,URL字符串为绿色。中间证书的证书链可能有问题。您可以使用测试服务器吗?结果是否涉及到不完整的链?@Tom,ssllabs.com不允许检查自定义端口(不是443)上的服务器。我的服务器是8085。我用了。是的,它返回我的服务器SSL证书不可信。那么,这可能是原因吗?但是,桌面浏览器不会报告任何问题,URL字符串为绿色。可能是中间证书的证书链有问题。