Jquery ajax调用期间cordova phonegap页面挂起

Jquery ajax调用期间cordova phonegap页面挂起,jquery,iphone,xcode,cordova,xcode4.2,Jquery,Iphone,Xcode,Cordova,Xcode4.2,我正在将cordova phonegap用于移动应用程序。在页面加载之后,我使用设置超时函数通过ajax调用一些数据。但是,当我使用它的时候,应用程序在ajax数据传输的时间间隔内被挂起。在那之后,一切都很顺利。怎么解决,有什么想法吗 window.setTimeout(function(){ // $("#home").slideDown(1000); /

我正在将cordova phonegap用于移动应用程序。在页面加载之后,我使用设置超时函数通过ajax调用一些数据。但是,当我使用它的时候,应用程序在ajax数据传输的时间间隔内被挂起。在那之后,一切都很顺利。怎么解决,有什么想法吗

window.setTimeout(function(){

                                  // $("#home").slideDown(1000);

                                  // $("#home").addClass('curr');

                                  $("#datepicker").datepicker({ minDate: +1, maxDate: "+12M" });
                                  var twitterBox = $("#twitterBox");
                                  $.getJSON("http://api.twitter.com/1/users/show.json?screen_name=santanu1122&callback=?", function(tweetdata) {
                                            twitterBox.append("<p id=\"twitterUser\" class=\"twick\"><a onclick=\"newWin(this.href);return false;\" href=\"http://twitter.com/"+tweetdata.screen_name+"\">@"+tweetdata.screen_name+"</a><br/>Followers: "+tweetdata.followers_count+" Tweets: "+tweetdata.statuses_count+"</p>\n");
                                            getTweets();
                                            });

                                  $.ajax({
                                         type: "POST",
                                         url: "http://XXXXXXXXXXXXXX/fetchnewsfeed.php",
                                         data:"",
                                         success: function(newsfeedbyadmindetails){
                                         $('#newsfeedbyadmin').html(newsfeedbyadmindetails);
                                         $('#example1').fbWall({ id:'santanu.ece',accessToken:'XXXXxxxxxxxxxxxxxxxxxx'});
                                         }
                                         }).bind();

                                  }, 5500);
window.setTimeout(函数(){
//$(“#家”)。向下滑动(1000);
//$(“#home”).addClass('curr');
$(“#datepicker”).datepicker({minDate:+1,maxDate:+12M});
var twitterBox=$(“#twitterBox”);
$.getJSON(“http://api.twitter.com/1/users/show.json?screen_name=santanu1122&callback=?,函数(tweetdata){
twitterBox.append(“


关注者:“+tweetdata.Followers\u count+”Tweets:“+tweetdata.statuses\u count+”

\n”); getTweets(); }); $.ajax({ 类型:“POST”, url:“http://XXXXXXXXXXXXXX/fetchnewsfeed.php", 数据:“, 成功:功能(newsfeedbyadmindetails){ $('#newsfeedbyadmin').html(newsfeedbyadmindetails); $('#示例1').fbWall({id:'santanu.ece',accessToken:'xxxxxxxxxxxxxxxxxxx'}); } }).bind(); }, 5500);
最好的方法是扩展这一切——不要全部加载,先加载facebook,然后再加载twitter几秒钟,等等

如果twitter的结果太多,Tou甚至可以将其拆分。然后,您可以每隔几秒钟更新20个结果-只要确保页面不会在当前视图之外滚动太多,如果可能的话

另一种方法是在更新时使用消息,比如“加载…”,然后隐藏它


这真的取决于您想要的用户体验。

很高兴看到速度有所提高-现在,您通常会在页面上更改多少数据?如果您的文档中有太多的更改,移动浏览器将阻塞,只有在处理这些更改时才会恢复-因此,可能只有“有时”才会挂起您的浏览器,因为在加载应用程序时,没有太多的数据要更改,没有太多来自facebook帖子、twitter帖子的数据,也没有来自数据库的数据。如果这不是一种方便的方式,那么我应该怎么做呢?