1

初期化時にWebサービスを呼び出すphonegapアプリを作成しました(index.htmlのonload)。私はを使用して電話をかけています

 $.ajax({
  type: "GET",
  url: "http://webserviceurl.com/service",
  cache: false,
  async: true, 
  success: onSuccess,
  error: onError,
  timeout: 40000
});

これで、Webサービスが利用できない場合、サービス呼び出しは40秒間待機し(制限はタイムアウトとして設定)、制御をonErrorメッセージに転送します。onErrorメッセージは、エラーの単純なアラートメッセージを表示します。

しかし、私の問題は、アプリが空白の画面を表示し、サービス呼び出しが終了するまで(40秒)HTMLページを表示しないことです。Webサービス呼び出しをバックエンドで実行し、実際のアプリの読み込みには影響しないようにしたい(async:trueが役立つと思いましたが、そうではありません)。

アプリをWebサービス呼び出しから独立させるにはどうすればよいですか?

編集 これはうまくいった

function appReady(){
      // do the ajax here
}

document.addEventListener("deviceready", appReady, false);
4

2 に答える 2

1

あなたはこのようにそれをすることができますか

$(document).ready(function() {

$.ajax({
  type: "GET",
  url: "http://webserviceurl.com/service",
  cache: false,
  async: true, 
  success: onSuccess,
  error: onError,
  timeout: 40000
});

});

これで、ドキュメントの準備ができた(完全にロードされた)後にajaxクエリが実行されます

于 2012-08-23T09:34:58.437 に答える
0

電話をかける前にページを設定するだけです。

于 2012-08-23T09:33:24.893 に答える