多个加载功能?

时间:2014-02-17 02:32:20

标签: javascript jquery

我很好奇是否有更好的方法可以在一个页面上处理多个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);

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

1 个答案:

答案 0 :(得分: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>",…}

...但您可以轻松地将其修改为其他输出格式。