web-dev-qa-db-ja.com

Apache Cordova:リソースのロードに失敗しました:サーバーはステータス404(見つかりません)で応答しました

AndroidエミュレーターまたはAndroidデバイスでアプリケーションを実行すると、すべてのAJAX =リクエスト:

Failed to load resource: the server responded with a status of 404 (Not Found)

この問題を解決するために次のすべての手順を試しましたが、問題は解決しません。

  • Npmを使用してプロジェクトにホワイトリストプラグインをインストールしました。
  • Config.xmlに<plugin name="cordova-plugin-whitelist" version="1" />を追加しました。
  • <uses-permission Android:name="Android.permission.INTERNET" />をplatforms\Android\AndroidManifest.xmlに追加しました。
  • Www /index.htmlファイルの<meta http-equiv="Content-Security-Policy" content="default-src * 'unsafe-inline';"><meta http-equiv="X-XSS-Protection" content="0"><head>を追加しました。
  • Config.xmlファイルに<access Origin="*" /><allow-navigation href="*" />、および<allow-intent href="*" />を追加しました。

それでも、同じエラーが発生します。何か案は?

プロジェクトは正常にコンパイルされます。私はWindows7を使用しており、Cordova 5.4.0を使用しています、Android 5.1.1

9
Kaspi

アプリケーションのAndroid部分全体を削除する:

cordova platform remove Android

そしてそれを再び追加します:

cordova platform add Android

問題を解決しましたが、それはまだ私には謎です。

おそらく、Cordovaの以前のバージョンから、現在のCordovaバージョンではうまくいかなかった何か問題が残っていました。

10
Kaspi

Androidを更新する

cordova platform update [email protected]

サーバーのphpページに接続する際に問題が発生し、Androidを更新しました

2
Massimo Alvaro

問題はコンテンツセキュリティポリシーのメタタグにあると思います-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

私はあなたが役に立つと思うかもしれないこのトピックに対処するブログ投稿を書きました、それは ここを読んでください であるかもしれません。

2
Simon Prickett