Android Cordova应用程序可以';t在第一次运行时发出CORS请求

Android Cordova应用程序可以';t在第一次运行时发出CORS请求,android,cordova,cordova-plugins,Android,Cordova,Cordova Plugins,从昨天开始,我对Cordova和(可能?)Cordova插件白名单有问题,无法找到解决方案,所以我在这里,寻求您的帮助。我会尽力解释一切 背景 我在一家IT公司工作,我们使用Cordova平台开发了一些应用程序。昨天,我在设备上安装了一个应用程序,出现以下错误: Access to XMLHttpRequest at 'http://valid-url/' from origin 'file://' has been blocked by CORS policy: Response to pre

从昨天开始,我对Cordova和(可能?)Cordova插件白名单有问题,无法找到解决方案,所以我在这里,寻求您的帮助。我会尽力解释一切

背景

我在一家IT公司工作,我们使用Cordova平台开发了一些应用程序。昨天,我在设备上安装了一个应用程序,出现以下错误:

Access to XMLHttpRequest at 'http://valid-url/' from origin 'file://' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. 访问位于“”的XMLHttpRequesthttp://valid-url/“来自来源”文件://“已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。 未捕获(承诺中)错误:请求已终止 可能原因:网络脱机、访问控制不允许源站允许源站、页面正在卸载等。 at Request.push../node_modules/superagent/lib/client.js.Request.crossDomainError(client.js:621) 位于XMLHttpRequest.xhr.onreadystatechange(client.js:705) 此错误不允许我向服务器发出请求。但这里有一件奇怪的事情:这只发生在我第一次启动应用程序或删除数据库时;如果我关闭应用程序并再次启动它,它就可以正常工作。另一件奇怪的事:我们所有的应用程序都会出现这种情况,其中一些应用程序在几个月内没有得到新的补丁或任何更改,所以。。。怎么会这样?我想对Chromium进行一次更改,但我设备上的版本比实际版本旧

我知道我需要cordova插件白名单来发出请求,我已经在1.3.4版本上安装了它,并且在config.xml上配置了它(在其中一个应用程序上):


我目前的cordova android版本是7.0.0——我已经尝试将cordova android和插件白名单分别降级为6.4.0和1.3.3,但没有成功

我怀疑问题出在android本身或cordova插件白名单上,但请记住:它从无到有,没有对代码库或新版本进行任何更改——这让我发疯

有人能给我点灯吗


谢谢大家!

我们公司也有同样的问题。仔细研究,我们发现了这个Chromium bug,它的修复程序合并为77:


如果您正在运行Chromium 76,这可能是您的问题的根源。遗憾的是,我们这边的问题无法解决。

谢谢您提供的信息,它对我帮助很大。遗憾的是,我们需要暂时解决这个问题……没问题!如果这充分回答了您的问题,您是否介意将其标记为已接受的答案? Uncaught (in promise) Error: Request has been terminated Possible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc. at Request.push../node_modules/superagent/lib/client.js.Request.crossDomainError (client.js:621) at XMLHttpRequest.xhr.onreadystatechange (client.js:705)
    <access origin="*" />
    <allow-navigation href="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />