私はSlim3フレームワークのリモートURL(http://xxx.cloudapp.net/xxx/api/v1/login/username/password)への投稿要求を行うionic-angularjsアプリを持っていますが、スクリーンショット
同じことが、私は別のIPアドレスにREST APIをホストする場合にも発生します。
私はコードワットホワイトリストプラグインを追加するなどのソリューションを見たことがありますが、それでもエラーは持続します(プラグインの削除と追加、アンドロイドプラットフォームの削除と追加も)。私もCORSを設定しています。
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: Origin, Content-Type,x-www-form-urlencoded, x-xsrf-token, X-Auth-Token , Authorization');
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Max-Age: 86400');
header('Access-Control-Allow-Methods: POST, GET, DELETE, OPTIONS, PUT');
最大のジレンマは、私はChromeブラウザを使用してテストしたときにアプリが非常にうまく動作しますポストマンであり、また、インストール中にAPKファイルと電話がWIFIの上にあるときに、私は携帯電話を使用しているとき、それはまた、正常に動作しますこのIP(172.22.2.38:8080)を持つ1つのモバイルプロバイダー以外の異なるモバイルプロバイダーからのデータ。
別の奇妙なことは、(172.22.2.38:8080)にあるプレイストアからダウンロードされたAdvanced Rest APIを使用して投稿リクエストを送信すると、Body-> Type 'x-www-form-urlencoded'に変更します。だから問題は、私がangularjs $ httpでpostリクエストを使うときのようです。
これはAndroidManifest.xmlを(その一部)
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="25" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.RECORD_VIDEO" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
で、config.xmlには、私は任意のほぼ二週間のために立ち往生してきた
<access origin="*" subdomains="true"/>
<allow-navigation href="*"/>
<plugin name="cordova-plugin-device" spec="~1.1.3"/>
<plugin name="cordova-plugin-console" spec="~1.0.4"/>
<plugin name="cordova-plugin-splashscreen" spec="~4.0.0"/>
<plugin name="cordova-plugin-statusbar" spec="~2.2.0"/>
<plugin name="ionic-plugin-keyboard" spec="~2.2.1"/>
<plugin name="cordova-plugin-whitelist" spec="https://github.com/apache/cordova-plugin-whitelist.git"/>
<plugin name="cordova-plugin-contacts" spec="~2.2.1"/>
<plugin name="cordova-plugin-camera" spec="~2.3.1"/>
<plugin name="cordova-plugin-media-capture" spec="~1.4.1"/>
<plugin name="cordova-plugin-file" spec="~4.3.1"/>
<plugin name="cordova-plugin-file-transfer" spec="~1.6.1"/>
この(その一部)のように見えます助けが大いに評価されるでしょう。