如何使应用程序加载独立于Web服务调用?

时间:2012-08-23 09:23:30

标签: javascript android jquery ajax cordova

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

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

现在,如果Web服务不可用,则服务调用将等待40秒(限制我设置为超时)并将控制转移到onError消息,该消息显示一条简单的警告消息以查找错误。

但我的问题是,应用程序显示空白屏幕并且不显示html页面,直到服务调用结束(40秒)。我希望webservice调用在后端执行并且不会影响实际app的加载(我认为async:true会有所帮助,但事实并非如此)。

任何想法如何让我的应用独立于网络服务电话?

修改 这工作

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

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

2 个答案:

答案 0 :(得分:1)

你能这样做吗

$(document).ready(function() {

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

});

现在您的ajax查询将在文档准备好(完全加载)后进行

答案 1 :(得分:0)

只需在拨打电话前设置您的页面即可。