2014-02-17 56 views
5

我很好奇,如果有更好的方法来处理一个页面上的多个load()函数?我在这里得到了这样的代码:多重载入功能?

setInterval(function update() { 
    if (denial) return; 
    denial = true; 
    $.ajax({ 
     url: 'update.php', 
     error: function() { 
      denial = false; 
     }, 
     complete: function() { 
      denial = false; 
      $('#loader').hide("slow"); 
      $('#credits').load('world1.php?mode=money'); 
      $('#fuelleft').load('world1.php?mode=fuel'); 
      $('#energyleft').load('world1.php?mode=energy'); 
      $('#starmap').show("slow"); 
      $('#upgrade-holder').load('world1.php?mode=up'); 
     }, 
    }); 
}, 1000); 

它工作得很好,但有没有什么办法可以改进这段代码?

+0

欢迎来到[so]!如果代码工作得很好,你只是在寻找某人查看你的代码,看看你是否可以改进它们,你可以看看[codereview.se]。如果您的代码存在问题,但您知道,[so]适用于这些类型的问题。 –

回答

3

update.php可能包含所有需要更新的内容。然后,您可以更新与html,例如:

$.ajax({ 
    url: 'update.php', 
    dataType: 'json', 
    success: function(data) { 
     $('#credits').html(data.money); 
     $('#fuelleft').html(data.fuel); 
     $('#energyleft').html(data.energy); 
     // ... 
    } 
}); 

这个代码在这里假定update.php返回JSON看起来像这样:

{"money":"<p>some HTML to go into #credits</p>","fuelleft":"<p>more HTML</p>",…} 

...但你可以很容易地修改为其他输出格式。