AndroidエミュレーターまたはAndroidデバイスでアプリケーションを実行すると、すべてのAJAX =リクエスト:
Failed to load resource: the server responded with a status of 404 (Not Found)
この問題を解決するために次のすべての手順を試しましたが、問題は解決しません。
<plugin name="cordova-plugin-whitelist" version="1" />
を追加しました。<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">
と<head>
を追加しました。<access Origin="*" />
、<allow-navigation href="*" />
、および<allow-intent href="*" />
を追加しました。それでも、同じエラーが発生します。何か案は?
プロジェクトは正常にコンパイルされます。私はWindows7を使用しており、Cordova 5.4.0を使用しています、Android 5.1.1
アプリケーションのAndroid部分全体を削除する:
cordova platform remove Android
そしてそれを再び追加します:
cordova platform add Android
問題を解決しましたが、それはまだ私には謎です。
おそらく、Cordovaの以前のバージョンから、現在のCordovaバージョンではうまくいかなかった何か問題が残っていました。
問題はコンテンツセキュリティポリシーのメタタグにあると思います-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
私はあなたが役に立つと思うかもしれないこのトピックに対処するブログ投稿を書きました、それは ここを読んでください であるかもしれません。