Apache Cordova:无法加载资源:服务器响应状态为 404(未找到)
Apache Cordova: Failed to load resource: the server responded with a status of 404 (Not Found)
当我 运行 我的应用程序在 Android 模拟器或我的 Android 设备上时,我在所有 AJAX 请求上得到以下错误:
Failed to load resource: the server responded with a status of 404 (Not Found)
我已经尝试了以下所有步骤来解决这个问题,但它仍然存在。
- 使用 npm 将白名单插件安装到项目中。
- 已将
<plugin name="cordova-plugin-whitelist" version="1" />
添加到
config.xml.
- 已添加
<uses-permission android:name="android.permission.INTERNET" />
至 platforms\android\AndroidManifest.xml.
- 已将
<meta http-equiv="Content-Security-Policy" content="default-src * 'unsafe-inline';">
和 <meta http-equiv="X-XSS-Protection" content="0">
添加到 www/index 的 <head>
。html 文件。
- 添加了
<access origin="*" />
、<allow-navigation href="*" />
和
<allow-intent href="*" />
到 config.xml 文件。
尽管如此,我仍然遇到同样的错误。有什么想法吗?
项目编译正常。我在 Windows 7,使用 Cordova 5.4.0,Android 5.1.1
我认为问题出在您的内容安全策略元标记上 - 尝试将 * 添加到 default-src 以打开对任何地方的 Ajax 请求。您还可以专门为 Ajax 请求添加一个 connect-src 子句,并列出您希望能够访问的主机和协议。例如:
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; connect-src http://myhost.mydomain.com">
将允许 Ajax 请求 http://myhost.mydomain.com
我写了一篇博客 post 来解决这个主题,您可能会觉得有帮助,它可以是 read here。
删除应用程序的整个 Android 部分:
cordova platform remove android
并再次添加:
cordova platform add android
解决了这个问题,这对我来说仍然是个谜。
也许早期版本的 Cordova 遗留了一些问题,与当前的 Cordova 版本不兼容。
更新Android
cordova platform update android@5.1.1
我在连接到服务器上的 php 页面时遇到问题,我更新了 android
当我 运行 我的应用程序在 Android 模拟器或我的 Android 设备上时,我在所有 AJAX 请求上得到以下错误:
Failed to load resource: the server responded with a status of 404 (Not Found)
我已经尝试了以下所有步骤来解决这个问题,但它仍然存在。
- 使用 npm 将白名单插件安装到项目中。
- 已将
<plugin name="cordova-plugin-whitelist" version="1" />
添加到 config.xml. - 已添加
<uses-permission android:name="android.permission.INTERNET" />
至 platforms\android\AndroidManifest.xml. - 已将
<meta http-equiv="Content-Security-Policy" content="default-src * 'unsafe-inline';">
和<meta http-equiv="X-XSS-Protection" content="0">
添加到 www/index 的<head>
。html 文件。 - 添加了
<access origin="*" />
、<allow-navigation href="*" />
和<allow-intent href="*" />
到 config.xml 文件。
尽管如此,我仍然遇到同样的错误。有什么想法吗?
项目编译正常。我在 Windows 7,使用 Cordova 5.4.0,Android 5.1.1
我认为问题出在您的内容安全策略元标记上 - 尝试将 * 添加到 default-src 以打开对任何地方的 Ajax 请求。您还可以专门为 Ajax 请求添加一个 connect-src 子句,并列出您希望能够访问的主机和协议。例如:
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; connect-src http://myhost.mydomain.com">
将允许 Ajax 请求 http://myhost.mydomain.com
我写了一篇博客 post 来解决这个主题,您可能会觉得有帮助,它可以是 read here。
删除应用程序的整个 Android 部分:
cordova platform remove android
并再次添加:
cordova platform add android
解决了这个问题,这对我来说仍然是个谜。
也许早期版本的 Cordova 遗留了一些问题,与当前的 Cordova 版本不兼容。
更新Android
cordova platform update android@5.1.1
我在连接到服务器上的 php 页面时遇到问题,我更新了 android