Phonegap Cordova Ajax 请求 404(未找到)错误

Phonegap Cordova Ajax requests 404 (Not Found) Error

我的cordova版本是5.0.0

我在设备上部署应用程序时收到所有 ajax 请求的 404 错误。在 Web 浏览器上,它运行良好,但部署在设备上时,相同的应用程序无法运行。

我尝试添加以下内容来解决问题,但没有帮助。

Config.xml

<access origin="*" />

AndriodManiest.xml

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

我还在 index.html 文件中添加了以下内容,但也没有任何区别。

<script>
    $.support.cors=true;
</script>

这里有人有解决这个问题的另一个技巧吗?这似乎是 phonegap 的一个很常见的问题,但上面的修复在 phonegap/cordova 的旧版本中有效,但在我的情况下没有一个有效。

任何帮助都会很棒。

我有同样的问题,必须安装 cordova-plugin-whitelist

cordova plugin add cordova-plugin-whitelist

感谢这篇 Whosebug 文章 - Ajax Command to request URL no longer working

实际上应该添加 cordova 白名单插件:

cordova plugin add cordova-plugin-whitelist

或在您的 config.xml 文件中:

<plugin name="cordova-plugin-whitelist" spec="1" />

但如果您使用的是在线 phonegap 构建服务,则语法会有所不同。您必须在 config.xml 文件中添加以下行:

<gap:plugin name="cordova-plugin-whitelist" source="npm" />

并授权跨域请求:

<access origin="*" />
<allow-intent href="*" />
<allow-navigation href="*" />

不推荐这样做,因为到处都使用通配符,而且一切都是允许的。但它非常适合您的测试。

这对我有用。唯一的区别是我的 config.xml 我必须将它放在一个节点中才能生效。

我的例子如下:

<platform name="android">
    <allow-intent href="market:*" />
    <access origin="*" />
    <allow-intent href="*" />
    <allow-navigation href="*" />
</platform>

Phonegap 用户。将此行添加到 config.xml 是我的解决方案:

<gap:plugin name="cordova-plugin-whitelist" source="npm" />

我的问题有点不同。我使用 CI 管道编译了该应用程序。所以,你还需要做以上所有的事情(安装白名单和添加上网权限)

并且您还需要找到能够正确构建应用程序的 Visual Studio 版本。我的在构建时没有给出错误,但生成的应用程序无法发出任何 ajax 请求

我降级到VS2017后就可以了