1

我创建了一个 phonegap 应用程序,它在初始化时调用 Web 服务(加载 index.html)。我正在使用

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

现在,如果 web 服务不可用,服务调用会等待 40 秒(我将限制设置为超时)并将控制权转移到 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 回答