質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

Q&A

解決済

1回答

1162閲覧

monacaのカスタムビルド版デバッガーでAjax通信ができません

d.okada

総合スコア10

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

Monaca

「Monaca」はiOS、Android、Windows向けのアプリ開発に対応した、Cordovaベースのモバイルアプリ開発プラットフォームです。HTML5、JavaScriptといったWeb標準技術を用いてモバイルアプリ開発を行うことができます。

0グッド

0クリップ

投稿2019/08/06 08:27

編集2019/08/06 08:30

前提・実現したいこと

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);
}
});

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

Monacaサポート担当より以下回答頂き、その通り修正を加えたら正常に動作しました。

対象プロジェクトが「Cordova 9.0」で対象のOSが「Addroid 9.0」以降の場合は、セキュリティーの制限により外部サーバーへ接続に「http」プロトコルを使用することはできません。

「http」プロトコルを使用する場合は、対象プロジェクトの「config.xml」の「widget」タグに「andorid 名前空間」設定を追加し、「usesCleartextTraffic」設定を追加する必要があります。

■「config.xml」設定例:
<widget xmlns:android="http://schemas.android.com/apk/res/android">

<platform name="android"> <edit-config file="AndroidManifest.xml" target="/manifest/application" mode="merge"> <application android:usesCleartextTraffic="true" /> </edit-config> </platform>

ストア版Monacaデバッガーでは、上記の「usesCleartextTraffic」設定が行われているため、「Addroid 9.0」以降でも「http」プロトコルの接続が可能となっております。

カスタムビルドデバッガーでは、サードパーティー製Cordovaプラグイン等に影響が出る可能性があるため、上記の設定は行われておりません。

今回ご連絡いただきました対象が、

Cordova 9.0
Addroid 9.0以降

の場合は、一度、上記の「config.xml」設定例を参考に「usesCleartextTraffic」設定を行い、あらためてカスタムビルドデバッガーを作成してお試しください。

投稿2019/08/09 00:22

d.okada

総合スコア10

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

giwagiwagiwa

2019/08/19 11:14

同じ現象に遭遇して困っておりました。 config.xmlに追加したのですが、 Execution failed for task ':app:mergeDebugResources'. > java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource compilation failed /tmp/download/platforms/android/app/src/main/res/xml/config.xml:62: error: unbound prefix. というエラーが出てきてしまいました。。 何かご存じでしたら教えていただけるとうれしいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問