Cordova应用程序在Android上获得404所有XMLHttpRequests

Iva*_*nna 3 javascript android xmlhttprequest cors cordova

这是人们常见的问题,但StackOverflow上的所有解决方案似乎都以安装为中心cordova-plugin-whitelist,添加了一些变体

<access origin="*" />
<allow-intent href="*" />
<allow-navigation href="*" />
Run Code Online (Sandbox Code Playgroud)

config.xml,并添加类似的东西

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' *">
Run Code Online (Sandbox Code Playgroud)

到你的index.html文件.我已经尝试了所有这些东西,但仍然没有运气.真正令人沮丧的是我曾经在一个以前的项目中工作,这些项​​目确实可以作为解决方案,但在新项目中使用相同的配置是行不通的.

我100%确定请求的URL正确响应.即使我点击了Chrome Dev Inspector中404错误的网址,它也会返回正确的内容.当您搜索此问题时,您在反复看到的相同答案中是否有任何可以尝试的内容?

编辑:

在回复第一条评论时,这是javascript代码:

var xhr = new XMLHttpRequest();
xhr.open("POST", "http://example.com/endpoint");
xhr.onload = success_callback;
xhr.onerror = error_callback;
xhr.send(content);
Run Code Online (Sandbox Code Playgroud)

当我在桌面浏览器中加载它时,这个完全相同的代码工作正常,404只发生在cordova应用程序中.代码没有区别,只是我在跑步cordova build browser而不是跑步cordova build android.

use*_*620 7

有一次这发生在我身上.

列出所有已安装的插件: cordova plugin list

我所要做的就是删除插件: cordova plugin remove <PLUGIN_NAME>(在这种情况下科尔多瓦-插件白名单)

然后再添加一次: cordova plugin add cordova-plugin-whitelist

  • 多亏了这一点,我意识到我没有安装白名单插件. (2认同)