在jQuery

时间:2018-05-21 00:29:29

标签: javascript jquery

我是jQuery的新手,所以我想知道,如何在发布后立即显示内容。此刻我有类似的事情。

$('#cur_select').on('change', function() {
    $.post( "getTable.php", { value: this.value }).done(function( data ) 
    {
        $("#mytable").html(data);
    });
});

从PHP获取数据需要一些时间,因此我想通知用户(通过更改标签的文本),该网站正在获取数据。我在哪里可以放这些代码?

3 个答案:

答案 0 :(得分:2)

您可以在进行POST调用之前执行此操作,或者可以在POST调用之后立即执行代码(因为POST.done是异步的并且代码会立即移动)。

$('#cur_select').on('change', function() {
    //Here
    $.post( "getTable.php", { value: this.value }).done(function( data ) 
    {
        $("#mytable").html(data);
    });
    //Or here
});

答案 1 :(得分:1)

$ .post将在更新时更新。 $ .post完成后,将调用.done()之后的回调函数。随着这种情况的发生,javascript将继续下去。所以无论你想做什么(可能在#mytable中等待其数据时都有一个微调器动画)都可以放在$ .post之后,甚至可以放在它之前。

$('#cur_select').on('change', function() {
    $.post( "getTable.php", { value: this.value }).done(function( data ) 
    {
        $("#mytable").html(data);
    });

    $("#mytable").css("background-image", "url(/myLoadingSpinner.gif)"); 
});

答案 2 :(得分:0)

请在jquery中查看两个函数ajaxStart和ajaxComplete。这两个函数将帮助您进行更改,例如在处理之前显示微调器或向用户显示一些文本,并在检索数据后将其隐藏。谢谢。