当前位置: 首页 > 知识库问答 >
问题:

将手机升级到Android 9 Pie API 28版本6后,Cordova应用程序中的Ajax错误

濮阳国兴
2023-03-14

我有一个用Cordova 8.1.2开发的应用程序,并在Android 8.1 Oreo API Level 27修订3下编译,成功地在Play Store上工作,并与注册用户一起工作。

在过去几周,一些用户将手机升级到Android 9.0 Pie,当他们打开应用程序并进行注册或登录操作时,他们会收到一个服务器错误的ajax通信。

我用Android studio在开发人员模式下尝试,用Android 9.0 Pie在模拟器模式下尝试,我得到了同样的结果。我用不同的ajax URL做了一些测试,ajax调用从未到达服务器

以下是android Studio中的错误日志:

2019-01-30 20:29:19.701 1921-1921/? E/netmgr: Failed to open QEMU pipe 'qemud:network': Invalid argument
2019-01-30 20:29:22.351 1754-1900/? E/storaged: getDiskStats failed with result NOT_SUPPORTED and size 0
2019-01-30 20:29:38.714 1925-2029/system_process E/memtrack: Couldn't load memtrack module

控制台中的Ajax错误视图:


    {"readyState":0,"status":0,"statusText":"error"}

共有1个答案

穆文斌
2023-03-14

最后,我解决了这个问题。问题在于,在Android9PIE API28中,默认情况下允许对https服务的ajax调用。有to选项:

  1. 在ajax URL中进行https调用
  2. 为http站点添加异常(view developer android)
 类似资料:
  • 我正在为我们的应用程序创建升级路径,在此过程中出现了几个问题。我想,我的配置经常在这种情况下使用,所以也许有人以前经历过。 简短的应用程序描述: JSF Web应用程序 ICE作为JSF框架(实际版本1.8.3最新是3.1) 接缝作为EJB/View之间的连接(实际是2.1.1,最新是2.2.2或3) 在JBoss 4.2.2中部署。GA(最新是7.1) 通过Hibernate/Seam Enti

  • 问题内容: 我最近升级到了Cordova 5.0(和Cordova Android 4.0),从那时起,我的应用程序无法再访问外部资源。 我仍然在config.xml中(如前),并且仍然在AndroidManifest.xml中(如前),但是ajax调用被拒绝,没有任何解释(“ textStatus”参数为“错误”,“ errorThrown”参数为null,并且xhr.state()返回“已拒绝

  • 我最近升级到Cordova 5.0(和Cordova Android 4.0),从那时起,我的应用程序无法再访问外部资源。 我还有<代码> 我已经验证没有请求击中服务器,所以它似乎被Android停止,但日志没有给出任何解释为什么... 我可以通过Android浏览器很好地访问有问题的URL,但不能通过应用程序访问。 ajax请求是通过对主干网的调用发出的。主干的sync()。js,最终称为jqu

  • 我正在试着在Proguard打开的情况下测试Android应用程序的发布版本。我已经为测试依赖项创建了其他Proguard规则文件,该文件包含在发布规则文件中。 一切编译都很好,但在运行时失败。 我正在使用Espresso进行测试,仪表运行器在中定义 是否有机会为预发布版本运行测试?我从五月份就找到了这个话题,看起来这是不可能的。对我来说,这看起来只是错误的Proguard配置(缺少方法),但这行

  • 我不是SSL/TLS专家。但遇到以下情况 我们从一个供应商连接到一个webservice并且“安全策略”是TLSv1,所有的工作都像一个魅力。该供应商将该安全策略升级到TLSV1_2016。 从那时起通信就失败了。当他们重新回滚所有的工作。 这似乎已经足够了。 在AWS上,我发现了以下概述 TLSV1.2支持足以支持SSLv3 TLSV1.0 TLSv1_2016 TLSV1.1_2016 TLS

  • 将 升级到 版时出现错误: 无法加载文件或程序集“WebGrease,Version=1.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(HRESULT异常:0x80131040) 源错误: 如何解决此错误。