質問: ### 前提・実現したいこと MonacaでAjax通信をしています。 Monaca Debuggerを使用して動作確認をすると問題なく通信できています。 ところが、cordovaプラグインを追加したため、カスタムビルド版のデバッガーをダウンロードして確認すると、 XMLHttpRequest:0 となり、通信が出来なくなってしまいました。 ちなみにcordovaプラグインを追加した後も通常のMonaca Debuggerでは通信出来ています。 原因などわかりますでしょうか。 $.ajax({ type: "POST", url: 'http://ドメイン名/test.php', data: {'item1':'成功'}, success: function(data, dataType){ console.log(data); }, error: function(XMLHttpRequest, textStatus, errorThrown){ console.log('Error : ' + errorThrown); $("#XMLHttpRequest").html("XMLHttpRequest : " + XMLHttpRequest.status); $("#textStatus").html("textStatus : " + textStatus); $("#errorThrown").html("errorThrown : " + errorThrown); } });
回答: Monacaサポート担当より以下回答頂き、その通り修正を加えたら正常に動作しました。 対象プロジェクトが「Cordova 9.0」で対象のOSが「Addroid 9.0」以降の場合は、セキュリティーの制限により外部サーバーへ接続に「http」プロトコルを使用することはできません。 「http」プロトコルを使用する場合は、対象プロジェクトの「config.xml」の「widget」タグに「andorid 名前空間」設定を追加し、「usesCleartextTraffic」設定を追加する必要があります。 ■「config.xml」設定例: ストア版Monacaデバッガーでは、上記の「usesCleartextTraffic」設定が行われているため、「Addroid 9.0」以降でも「http」プロトコルの接続が可能となっております。 カスタムビルドデバッガーでは、サードパーティー製Cordovaプラグイン等に影響が出る可能性があるため、上記の設定は行われておりません。 今回ご連絡いただきました対象が、 Cordova 9.0 Addroid 9.0以降 の場合は、一度、上記の「config.xml」設定例を参考に「usesCleartextTraffic」設定を行い、あらためてカスタムビルドデバッガーを作成してお試しください。