2017-08-22 12 views
3

これまでに質問したことがありますが、実際の回答は得られておらず、今は1ヶ月以上苦労しています。Ionic 3 Windows 10(UWP)でCordova ajax呼び出しが失敗する

Windows 10 UWP用に構築されたIonic 3 Cordovaアプリケーションで作業するためのajax呼び出しを取得できません。彼らはlocalhostにアクセスできますが、外部接続はできません。

アプリケーションはAndroidとiOSの両方で問題なく動作します。

私はこのマシンをローカルでテストしようとしています。私は証明書(購入)を使ってアプリケーションに署名し、この証明書をインストールし、Windows用のアプリケーションをビルドし、組み込まれたCordovaApp.Windows10_1.0.1.1_x86.appxuploadを開き、組み込みのCordovaApp.Windows10_1.0.1.1_x86.appxファイルをダブルクリックすると、正常に完了します。インストールでは、アプリにインターネットアクセスが必要であることが示されます。他の場所で示唆したように、私が実行したとき​​3210で

が、私は、しかし...、

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

を次のタグを持っている、http.getコールはちょうどいない他の情報と0を返します。私はVisual Studioで実行し、返されたエラーオブジェクトを見て、この0リターンとは別の詳細情報を取得することはできません。 hereを説明したように、私はシオマネキを実行した

は、HTTPS復号化を有効になっていますが、私はレスポンスヘッダで見るすべては

HTTP/1.0 200 Connection Established 
FiddlerGateway: Direct 
StartTime: 13:44:21.686 
Connection: close 
メインビューに結果が実際 200示し

あるので、私はこのことを考えていません私に何かをリアルに見せている。

私は完全に迷っています。私は他の場所を探す必要がありません。私は何が欠けていますか?

ここでアプリケーションをサイドロードしたら、Windows 10マシンで外部ajaxを使用できるはずですか?私はそれが動作することを知るまで私はアップロードしたくないので、まだ店から試していない。

どんな提案も歓迎です。確かに誰かが外部のajaxにアクセスするIonic 3アプリケーションを持っていましたか?任意の助けを事前に

おかげ

[UPDATE 1]

私はちょうどイオンが仕える(それはただでホストされているのではなく、ブラウザで実行使用して、同じマシン上でアプリケーションを実行する場合UWP)、ajax呼び出しも正常に動作します。

[UPDATE 2]

私は今とても方程式のうち、すべての他のフレームワークを取って、Visual Studioのテンプレートを使用して、コルドバのアプリケーションを作成しました。

私は私の残りの呼び出しを行うにはバニラはJavaScriptを使用し

...

​​

私は、デバッガでこれを実行し、さらにここで私は、エラー(0のステータスコード)を取得します。

私はビルドパッケージを開くとcordova_plugins.jsファイルを見たとき、私は気づいたもう一つ..

マイイオンのアプリは今、次の...

cordova.define('cordova/plugin_list', function(require, exports, module) { 
    module.exports = [ 
     { 
      "id": "cordova-plugin-console.logger", 
      "file": "plugins/cordova-plugin-console/www/logger.js", 
      "pluginId": "cordova-plugin-console", 
      "clobbers": [ 
       "cordova.logger" 
      ] 
     }, 
     { 
      "id": "cordova-plugin-console.console", 
      "file": "plugins/cordova-plugin-console/www/console-via-logger.js", 
      "pluginId": "cordova-plugin-console", 
      "clobbers": [ 
       "console" 
      ] 
     }, 
     { 
      "id": "cordova-plugin-device.device", 
      "file": "plugins/cordova-plugin-device/www/device.js", 
      "pluginId": "cordova-plugin-device", 
      "clobbers": [ 
       "device" 
      ] 
     }, 
     { 
      "id": "cordova-plugin-device.DeviceProxy", 
      "file": "plugins/cordova-plugin-device/src/windows/DeviceProxy.js", 
      "pluginId": "cordova-plugin-device", 
      "merges": [ 
       "" 
      ] 
     }, 
     { 
      "id": "cordova-plugin-splashscreen.SplashScreen", 
      "file": "plugins/cordova-plugin-splashscreen/www/splashscreen.js", 
      "pluginId": "cordova-plugin-splashscreen", 
      "clobbers": [ 
       "navigator.splashscreen" 
      ] 
     }, 
     { 
      "id": "cordova-plugin-splashscreen.SplashScreenProxy", 
      "file": "plugins/cordova-plugin-splashscreen/www/windows/SplashScreenProxy.js", 
      "pluginId": "cordova-plugin-splashscreen", 
      "runs": true 
     }, 
     { 
      "id": "cordova-plugin-statusbar.statusbar", 
      "file": "plugins/cordova-plugin-statusbar/www/statusbar.js", 
      "pluginId": "cordova-plugin-statusbar", 
      "clobbers": [ 
       "window.StatusBar" 
      ] 
     }, 
     { 
      "id": "cordova-plugin-statusbar.StatusBarProxy", 
      "file": "plugins/cordova-plugin-statusbar/src/windows/StatusBarProxy.js", 
      "pluginId": "cordova-plugin-statusbar", 
      "runs": true 
     }, 
     { 
      "id": "ionic-plugin-keyboard.KeyboardProxy", 
      "file": "plugins/ionic-plugin-keyboard/src/windows/KeyboardProxy.js", 
      "pluginId": "ionic-plugin-keyboard", 
      "clobbers": [ 
       "cordova.plugins.Keyboard" 
      ], 
      "runs": true 
     } 
    ]; 
    module.exports.metadata = 
    // TOP OF METADATA 
    { 
     "cordova-plugin-console": "1.0.5", 
     "cordova-plugin-device": "1.1.4", 
     "cordova-plugin-splashscreen": "4.0.3", 
     "cordova-plugin-statusbar": "2.2.2", 
     "cordova-plugin-whitelist": "1.3.1", 
     "ionic-plugin-keyboard": "2.2.1" 
    }; 
    // BOTTOM OF METADATA 
    }); 

を持って、私は内のすべてのプラグインに気づきますmodule.exports.metadataには、cordova-plugin-whitelistを除いて、module.exportsにもエントリがあります。

私はVSで作成しCorvodaアプリケーションの同じファイルを開くと、私は以下を参照してください...

cordova.define('cordova/plugin_list', function(require, exports, module) { 
    module.exports = []; 
    module.exports.metadata = 
    // TOP OF METADATA 
    { 
     "cordova-plugin-whitelist": "1.2.2" 
    }; 
    // BOTTOM OF METADATA 
    }); 

だから、これはホワイトリストプラグインの他には何にも

はあり得ないだろう持っています何かがここで欠けている?このホワイトリストのプラグインが正しくインストールされていない可能性がありますか?

+0

長い間、私はずっと前にしていたはずのことをして、別のネットワークでアプリケーションをテストしたところ、うまくいきました。私の家から、またはデバイスがセルネットワークにつながれている場合、問題はありません。作業ネットワークには問題があります。これはちょっと違うので、私は別の[投稿](https://stackoverflow.com/questions/46480462/how-to-troubleshoot-local-windows-uwp-cordova-networking-issues)を作成しました。この "新しい "問題は、より多くのinstrafructureアプリケーションに関連する可能性があります – peterc

答えて

0

私は、AJAXの呼び出しがTESTで正常に機能するような状況でしたが、私がPRODに移動したときに失敗しました。

答えは、私がアクセスしようとしていたサーバー上の紛失した中間証明書として最終的に追跡されました。テストは証明書を持っていた、PRODはしなかった。

こちらがお役に立てば幸いです。

+0

ありがとう。ここでどの証明書を意味するのかわからないのですか?要求がサーバーに到達しないように見えるので、私の問題はローカルクライアントマシン上にあると確信しています(私はWiresharkでもそれを見ていません)。私の問題は、今、私がテストしている特定のネットワークかもしれないように見えるので、この[post]を追加しました(https://stackoverflow.com/questions/46480462/how-to-troubleshoot-local-windows-uwp-cordova-ネットワーキング問題)を解決します。 – peterc

+0

私のajaxがhttps://www.someserver.netにアクセスしようとしていて、someserver.netを実行しているマシンにssl certがありましたが、ssl certの証明書チェーンより前の証明書が見つかりませんでした。具体的には、仲介証明書がないNetScalerインスタンスでした。 – Diff

+0

私が正しく覚えていれば、Wiresharkを試してみると、トラフィックはsomeserver.netには流れませんでしたが、NetScalerのインスタンスで停止しました。 – Diff

関連する問題